home *** CD-ROM | disk | FTP | other *** search
/ Freaks Macintosh Archive / Freaks Macintosh Archive.bin / Freaks Macintosh Archives / Textfiles / coloredbooks / LavenderBookv2.sit.hqx / Lavender Book v2
Text File  |  1997-11-17  |  268KB  |  7,159 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8. Trusted Database Management  System Interpretation
  9.  
  10.  
  11.  
  12.  
  13. Trusted Database Management  System Interpretation
  14.  
  15.  
  16.  
  17. NCSC-TG-021
  18.  
  19.  
  20. Library
  21.  
  22.  
  23. No.  S235,625
  24. FOREWORD
  25.  
  26.  
  27.  
  28. The National Computer Security Center is issuing the Trusted Database
  29. Management  System Interpretation as part of the Technical Guidelines
  30. Program, through which we produce the "Rainbow Series."
  31.  
  32.  
  33. In  the  Rainbow  Series, we discuss in detail  the features of
  34. the Trusted Computer  System Evaluation Criteria (DoD 5200.28-STD)
  35. and provide  guidance for meeting each requirement.   The   National
  36.  Computer Security Center, through its Trusted Product Evaluation
  37. Program, analyzes the security features of commercially produced
  38.  and  supported  computer  systems.  Together, these programs
  39. ensure that organizations are capable of protecting their  important
  40. data with  trusted computer systems.
  41.  
  42.  
  43. The   Trusted   Database   Management  System Interpretation 
  44. extends the  evaluation classes  of the Trusted Computer System
  45.  Evaluation Criteria to trusted applications   in  general,  and
  46.   database  management systems in particular.  It serves  as an
  47. adjunct to the Trusted   Computer   System   Evaluation   Criteria
  48.  by providing a technical context  for the consideration of entire
  49. systems  constructed of parts and  by presenting database-specific
  50. interpretation of topics that require direct comment.   Thus,
  51. it is relevant  to applications which   support  sharing   of
  52.  computer   services  and resources, and  which enforce access
  53.  control policies. More  specifically, it  provides insight  into
  54. the  the design,  implementation, evaluation,  and accreditation
  55. of database management systems.
  56.  
  57.  
  58. This document  will be used for  at least one year after  the
  59. date of signature.   During this period the  NCSC  will  gain
  60.   experience  using  the  Trusted Database  Management Systems
  61. Interpretation  in several evaluations and continue to  receive
  62. comments on issues of  technical  accuracy,  clarity  of  exposition,
  63.  and utility.   After this  trial period,  necessary changes will
  64. be made and a revised version issued.
  65.  
  66.  
  67. PATRICK  R. GALLAGHER,  JR.
  68.  
  69.  
  70. April   1991 
  71.  
  72.  
  73. Director National Computer Security Center
  74. ACKNOWLEDGMENTS
  75.  
  76.  
  77.  
  78. This document represents  the combined effort of participants
  79. from  the research community, industry, and government working
  80. over several years.  Three major drafts   and   numerous   intermediary
  81.   versions  were produced,  reviewed, and  commented upon.   To
  82. name all the contributors would be  impossible.  To single out
  83. a few  would  be  to  slight  a  host  of others who gave unstintingly
  84.  of their time  and talent.  To  all those who  contributed to
  85.  the development  and refinement of the   fundamental   concepts,
  86.    contributed   to   the development  of the  several predecessor
  87.  versions, and who contributed  valuable personal time  and invaluable
  88. experience in reviewing and  commenting on the previous versions,
  89. thanks is extended.
  90. TABLE OF CONTENTS
  91.  
  92.  
  93.  
  94.           FOREWORD       i
  95.  
  96.  
  97.  ACKNOWLEDGMENTS      iii
  98.  
  99.  
  100.  INTRODUCTION      1
  101.  
  102.  
  103.            HISTORICAL PERSPECTIVE    1
  104.  
  105.  
  106.                     SCOPE     2
  107.  
  108.  
  109.                     PURPOSE      2
  110.  
  111.  
  112.                     STRUCTURE OF THE DOCUMENT    4
  113.  
  114.  
  115.           PART 1 TECHNICAL CONTEXT     7
  116.  
  117.  
  118.                     TC-1 INTRODUCTION     9
  119.  
  120.  
  121.                     TC-2 REFERENCE MONITOR PERSPECTIVE   10
  122.  
  123.  
  124.                     TC-3 NEED FOR EVALUATION BY PARTS   11
  125.  
  126.  
  127.                     TC-4 TCB SUBSETS     11
  128.  
  129.  
  130.                     TC-4.1 INTRODUCTION    12
  131.  
  132.  
  133.                     TC-4.2 TCB SUBSETS CONTEXT    13
  134.  
  135.  
  136.                     TC-4.2.1 DEFINITION OF TCB SUBSETS   13
  137.  
  138.  
  139.                     TC-4.2.2 MOTIVATION    13
  140.  
  141.  
  142.                     TC-4.3 CONDITIONS FOR EVALUATION BY PARTS
  143.  14
  144.  
  145.  
  146.                     TC-4.3.1 CANDIDATE TCB SUBSETS   14
  147.  
  148.  
  149.                     TC-4.3.2 POLICY ALLOCATION    15
  150.  
  151.  
  152.                     TC-4.3.3 TRUSTED SUBJECTS INCLUDED   15
  153.  
  154.  
  155.                     TC-4.3.4 TCB SUBSET STRUCTURE   15
  156.  
  157.  
  158.                     TC-4.3.5 SEPARATE SUBSET-DOMAINS   16
  159.  
  160.  
  161.                     TC-4.3.6 SUPPORT FOR RVM ARGUMENTS   16
  162.  
  163.  
  164.                     TC-4.4 EVALUATION ALTERNATIVES   17
  165.  
  166.  
  167.                     TC-5 GENERAL INTERPRETED REQUIREMENTS   18
  168.  
  169.  
  170.                     TC-5.1 OVERVIEW     18
  171.  
  172.  
  173.                     TC-5.2 DETAILED REQUIREMENTS    18
  174.  
  175.  
  176.                     TC-5.2.1 SECURITY POLICY    18
  177.  
  178.  
  179.                     TC-5.2.1.1 Discretionary Access Control  18
  180.  
  181.  
  182.                     TC-5.2.1.2 Object Reuse    18
  183.  
  184.  
  185.                     TC-5.2.1.3 Labels     19
  186.  
  187.  
  188.                     TC-5.2.1.4 Mandatory Access Control   20
  189.  
  190.  
  191.                     TC-5.2.2 ACCOUNTABILITY    20
  192.  
  193.  
  194.                     TC-5.2.2.1 Identification  and Authentication
  195.     20
  196.  
  197.  
  198.                     TC-5.2.2.2 Audit     21
  199.  
  200.  
  201.                     TC-5.2.3 ASSURANCE     22
  202.  
  203.  
  204.                     TC-5.2.3.1 Operational Assurance   22
  205.  
  206.  
  207.                     TC-5.2.3.2 Life-Cycle Assurance   23
  208.  
  209.  
  210.                     TC-5.2.4 DOCUMENTATION    24
  211.  
  212.  
  213.                     TC-5.2.4.1 Security Features User's Guide
  214.  24
  215.  
  216.  
  217.                     TC-5.2.4.2 Trusted Facility Manual   25
  218.  
  219.  
  220.                     TC-5.2.4.3 Test Documentation   26
  221.  
  222.  
  223.                     TC-5.2.4.4 Design Documentation   26
  224.  
  225.  
  226.                     TC-5.3 SUMMARY OF THE REQUIREMENTS   26
  227.  
  228.  
  229.                     TC-5.3.1 LOCAL REQUIREMENTS    26
  230.  
  231.  
  232.                     TC-5.3.2 GLOBAL REQUIREMENTS    27
  233.  
  234.  
  235.                     TC-6 DESIGN CHOICES    28
  236.  
  237.  
  238.                     TC-6.1 OVERVIEW     28
  239.  
  240.  
  241.                     TC-6.2 A SINGLE TCB SUBSET    28
  242.  
  243.  
  244.   TC-6.2.1 ANALYSIS OF THE CONDITIONS   28
  245.  
  246.  
  247.                     TC-6.2.1.1 Condition 1: Candidate TCB Subsets
  248.  28
  249.  
  250.  
  251.                     TC-6.2.1.2 Condition 2: Policy Allocation
  252.  29
  253.  
  254.  
  255. TC-6.2.1.3 Condition 3: Trusted Subjects Included 29
  256.  
  257.  
  258.                     TC-6.2.1.4 Condition 4: TCB Subset Structure
  259.      29
  260.  
  261.  
  262.                     TC-6.2.1.5 Condition 5: Separate Subset-Domains
  263.   29
  264.  
  265.  
  266. TC-6.2.1.6 Condition 6: Support for RVM Arguments 29
  267.  
  268.  
  269.                     TC-6.2.2 EVALUATION CONSEQUENCES   29
  270.  
  271.  
  272.                     TC-6.3 TWO TCB SUBSETS,MEETING THE CONDITIONS
  273.  30
  274.  
  275.  
  276.                     TC-6.3.1 ANALYSIS OF THE CONDITIONS   30
  277.  
  278.  
  279.                     TC-6.3.1.1 Condition 1: Candidate TCB Subsets
  280.  30
  281.  
  282.  
  283.                     TC-6.3.1.2 Condition 2: Policy Allocation
  284.  31
  285.  
  286.  
  287. TC-6.3.1.3 Condition 3: Trusted Subjects Included 31
  288.  
  289.  
  290.                     TC-6.3.1.4 Condition 4: TCB Subset Structure
  291.      31
  292.  
  293.  
  294.                     TC-6.3.1.5 Condition 5: Separate Subset-Domains
  295.  31
  296.  
  297.  
  298. TC-6.3.1.6 Condition 6: Support for RVM Arguments 31
  299.  
  300.  
  301. TC-6.3.2 EVALUATION CONSEQUENCES   32
  302.  
  303.  
  304. TC-6.4 TWO TCB SUBSETS, NOT MEETING THE CONDITIONS 33
  305.  
  306.  
  307.                     TC-6.4.1 ANALYSIS OF THE CONDITIONS   34
  308.  
  309.  
  310.                     TC-6.4.1.1 Condition 1:  Candidate TCB Subsets
  311.  34
  312.  
  313.  
  314.                     TC-6.4.1.2 Condition 2:  Policy Allocation
  315.  34
  316.  
  317.  
  318. TC-6.4.1.3 Condition 3:  Trusted Subjects Included 34
  319.  
  320.  
  321.                     TC-6.4.1.4 Condition 4:  TCB Subset Structure
  322.     35
  323.  
  324.  
  325.                     TC-6.4.1.5 Condition 5:  Separate Subset-Domains
  326.  35
  327.  
  328.  
  329. TC-6.4.1.6 Condition 6:  Support for RVM Arguments 35
  330.  
  331.  
  332.                     TC-6.4.2 EVALUATION CONSEQUENCES   35
  333.  
  334.  
  335.                     TC-6.5 SUMMARY     36
  336.  
  337.  
  338.           PART 2 INTERPRETED REQUIREMENTS    37
  339.  
  340.  
  341.                     IR-1 OVERVIEW AND CONTEXT    39
  342.  
  343.  
  344.                     IR-2 SUMMARY OF THE INTERPRETATIONS   39
  345.  
  346.  
  347.                     IR-2.1 SECURITY POLICY    39
  348.  
  349.  
  350.                     IR-2.1.1 DISCRETIONARY ACCESS CONTROL   39
  351.  
  352.  
  353.                     IR-2.1.2 OBJECT REUSE    40
  354.  
  355.  
  356.                     IR-2.1.3 LABELS     40
  357.  
  358.  
  359.                     IR-2.1.4 MANDATORY ACCESS CONTROL   40
  360.  
  361.  
  362.                     IR-2.2 ACCOUNTABILITY    40
  363.  
  364.  
  365.                     IR-2.2.1 IDENTIFICATION AND AUTHENTICATION
  366.  40
  367.  
  368.  
  369.                     IR-2.2.2 AUDIT     40
  370.  
  371.  
  372.                     IR-2.3 ASSURANCE     40
  373.  
  374.  
  375.                     IR-2.3.1 OPERATIONAL ASSURANCE   40
  376.  
  377.  
  378.                     IR-2.3.1.1 System Architecture   40
  379.  
  380.  
  381.                     IR-2.3.1.2 System Integrity    40
  382.  
  383.  
  384.                     IR-2.3.1.3 Covert Channel Analysis   41
  385.  
  386.  
  387.                     IR-2.3.1.4 Trusted Facility Management   41
  388.  
  389.  
  390.                     IR-2.3.1.5 Trusted Recovery    41
  391.  
  392.  
  393.                     IR-2.3.2 LIFE CYCLE ASSURANCE   41
  394.  
  395.  
  396.                     IR-2.3.2.1 Security Testing    41
  397.  
  398.  
  399. IR-2.3.2.2 Design Specification and Verification  41
  400.  
  401.  
  402.                     IR-2.3.2.3 Configuration Management   41
  403.  
  404.  
  405.                     IR-2.3.2.4 Trusted Distribution   41
  406.  
  407.  
  408.                     IR-2.4 DOCUMENTATION    42
  409.  
  410.  
  411.                     IR-2.4.1 SECURITY FEATURES USER'S GUIDE  42
  412.  
  413.  
  414.                     IR-2.4.2 TRUSTED FACILITY MANUAL   42
  415.  
  416.  
  417.                     IR-2.4.3 TEST DOCUMENTATION    42
  418.  
  419.  
  420.                     IR-2.4.4 DESIGN DOCUMENTATION   42
  421.  
  422.  
  423.                     IR-3 LABELS     42
  424.  
  425.  
  426.                     IR-3.1 GENERAL DISCUSSION    42
  427.  
  428.  
  429.                     IR-3.2 SPECIFIC INTERPRETATIONS   43
  430.  
  431.  
  432.                     IR-4 AUDIT     44
  433.  
  434.  
  435.                     IR-4.1 GENERAL DISCUSSION    44
  436.  
  437.  
  438.                     IR-4.2 SPECIFIC INTERPRETATIONS   45
  439.  
  440.  
  441.                     IR-5 SYSTEM ARCHITECTURE    47
  442.  
  443.  
  444.                     IR-5.1 GENERAL DISCUSSION    47
  445.  
  446.  
  447.                     IR-5.2 SPECIFIC INTERPRETATIONS   47
  448.  
  449.  
  450.                     IR-6 DESIGN SPECIFICATION AND VERIFICATION
  451.  48
  452.  
  453.  
  454.                     IR-6.1 GENERAL DISCUSSION    48
  455.  
  456.  
  457.                     IR-6.2 SPECIFIC INTERPRETATIONS   52
  458.  
  459.  
  460.                     IR-7 DESIGN DOCUMENTATION    55
  461.  
  462.  
  463.                     IR-7.1 GENERAL DISCUSSION    55
  464.  
  465.  
  466.                     IR-7.2 SPECIFIC INTERPRETATIONS   56
  467.  
  468.  
  469.           APPENDIX A      59
  470.  
  471.  
  472.                     CLASS (C1):      62
  473.  
  474.  
  475.                     C1-1 SECURITY POLICY    62
  476.  
  477.  
  478.                     C1-2 ACCOUNTABILITY    62
  479.  
  480.  
  481.                     C1-3 ASSURANCE     62
  482.  
  483.  
  484.                     C1-4 DOCUMENTATION     63
  485.  
  486.  
  487.                     CLASS (C2):      66
  488.  
  489.  
  490.                     C2-1 SECURITY POLICY    66
  491.  
  492.  
  493.                     C2-2 ACCOUNTABILITY    66
  494.  
  495.  
  496.                     C2-3 ASSURANCE     67
  497.  
  498.  
  499.                     C2-4 DOCUMENTATION     68
  500.  
  501.  
  502.                     CLASS (B1):      70
  503.  
  504.  
  505.                     B1-1 SECURITY POLICY    70
  506.  
  507.  
  508.                     B1-2 ACCOUNTABILITY    71
  509.  
  510.  
  511.                     B1-3 ASSURANCE     73
  512.  
  513.  
  514.                     B1-4 DOCUMENTATION     74
  515.  
  516.  
  517.                     CLASS (B2):      77
  518.  
  519.  
  520. B2-1 SECURITY POLICY    77
  521.  
  522.  
  523.                     B2-2 ACCOUNTABILITY    79
  524.  
  525.  
  526.                     B2-3 ASSURANCE     81
  527.  
  528.  
  529.                     B2-4 DOCUMENTATION     85
  530.  
  531.  
  532.                     CLASS (B3):      89
  533.  
  534.  
  535.                     B3-1 SECURITY POLICY    89
  536.  
  537.  
  538.                     B3-2 ACCOUNTABILITY    91
  539.  
  540.  
  541.                     B3-3 ASSURANCE     93
  542.  
  543.  
  544.                     B3-4 DOCUMENTATION     98
  545.  
  546.  
  547.                     CLASS (A1):      102
  548.  
  549.  
  550.                     A1-1 SECURITY POLICY    102
  551.  
  552.  
  553.   A1-2 ACCOUNTABILITY    104
  554.  
  555.  
  556.                     A1-3 ASSURANCE     106
  557.  
  558.  
  559.                     A1-4 DOCUMENTATION     112
  560.  
  561.  
  562.           APPENDIX B      117
  563.  
  564.  
  565.                     1.  PERSPECTIVE ON ASSURANCE    119
  566.  
  567.  
  568.                     2.  PROCUREMENT OPTIONS    120
  569.  
  570.  
  571.                     3.  ALTERATION OF PREVIOUSLY EVALUATED TCB
  572.        122
  573.  
  574.  
  575.                     4.  SATISFYING RVM REQUIREMENTS   125
  576.  
  577.  
  578.                     5.  SUBSET DEPENDENCY    127
  579.  
  580.  
  581.                     6.  TAMPER RESISTANCE ARGUMENTS   131
  582.  
  583.  
  584.                     7.  RATIONALE FOR LOCAL AND GLOBAL REQUIREMENTS
  585.  132
  586.  
  587.  
  588.                     8   CONTENT-DEPENDENT AND  CONTEXT-DEPENDENT
  589.  
  590.  
  591.             ACCESS CONTROL    136
  592.  
  593.  
  594.                     9.  BULK LOADING OF A DATABASE   137
  595.  
  596.  
  597.                     10.  LOCAL ANALYSIS IN SYSTEM ASSESSMENT 
  598. 137
  599.  
  600.  
  601.                     11.  RATING MORE COMPLEX SYSTEMS   139
  602.  
  603.  
  604.           GLOSSARY       141
  605.  
  606.  
  607.           BIBLIOGRAPHY      145
  608. INTRODUCTION
  609.  
  610. HISTORICAL PERSPECTIVE
  611.  
  612.  
  613.  
  614. The  Department  of  Defense  Trusted  Computer System Evaluation
  615.  Criteria  (TCSEC),  published  in  1983  as CSC-STD-001-83, consolidates
  616. knowledge about the degree of trust one can place  in a computer
  617. system to protect sensitive information and organizes this knowledge
  618. into usable criteria  for system evaluation.  The  TCSEC was republished
  619.  as  a  DoD  standard,  DoD-5200.28-STD, in December 1985 to provide
  620. a means of evaluating specific security features and assurances
  621. available in "trusted, commercially available automatic data
  622. processing system  The  TCSEC's  rating  scale  extends  from
  623.  a minimal to a high level of trust with advanced security features
  624.   and    sophisticated   assurance   measures.  Specific criteria
  625. determine each rating level and guide system builders and evaluators
  626. in determining the level of trust provided by specific systems.
  627.  When the rating levels are  combined with environmental  guidelines
  628. and minimum security protection requirements, accreditation decisions
  629. for specific installations can be made.
  630.  
  631.  
  632. The philosophy of  protection embodied in the TCSEC  requires
  633.  that  the  access  of  subjects (i.e., processes in a domain)
  634.  to objects (i.e., containers of information) be mediated in accordance
  635. with an explicit and  well-defined  security   policy.   At  the
  636.  higher criteria classes,  the "reference monitor  concept"
  637. [1] is  an essential  part of  the system  and the security policy
  638. is  modeled.  There are several  security policy models  that
  639.  represent  the   desired  behavior  of  a reference monitor.
  640.  The Bell-La  Padula model [4-6] and its Multics  interpretation
  641. [3] are commonly  used, but not mandated.
  642.  
  643.  
  644. The    computer    security    research   and development that
  645.  underpin the TCSEC began  in the late 1960s and concentrated
  646. on secure operating systems.  By the early 1970s initial  worked
  647. examples had provided a substantial amount of  information about
  648. building trust into operating systems.   Research continued throughout
  649.  the   1970s  to    refine  mechanisms,   features,  and assurances
  650. needed to provide trusted operating systems.
  651.  
  652.  
  653. Multilevel   database   management   security received  far less
  654.  research and  development attention than did secure operating
  655.  systems.  This was primarily due  to  the  perception  that 
  656. one  could not credibly implement  a  multilevel   secure  database
  657.  management system (DBMS)  on top of an  untrusted operating system
  658. base.   However,  some  research  in  multilevel secure DBMSs
  659.  (mostly theoretical)   was conducted  during the 1970s  [15-16],
  660.  and  research  has  continued  to  the present  [9-14, 17-19,
  661. 22,  25-28].  By the  mid 1980s, commercially developed, trusted
  662.  operating systems were becoming  available that  could provide
  663.  the basis  for hosting secure  applications such as  multilevel
  664. secure DBMSs.
  665.  
  666.  
  667. In June 1986,  the National Computer Security Center  (NCSC) 
  668. initiated  its  efforts  to address the
  669.  
  670.  
  671. evaluation of trusted  database management systems with an Invitational
  672.  Workshop  in Baltimore,  Maryland.  Representatives  from  the
  673.  research, commercial, and  government communities met  to address
  674. issues of database  management security.  The met to discuss aspects
  675. of  trust (defined by the that  were  sufficiently  well  defined
  676.  and capable producing  repeatable and  objective assessments.
  677.   The NCSC  invited issue  papers and  prepared a agenda.    The
  678.  issue   papers  and   the  subcommittee summaries  were  published
  679.  as  the  Proceedings of the National Computer Security Center
  680. Invitational Workshop on Database Security [20].
  681.  
  682.  
  683. As  an outgrowth  of this  workshop, the NCSC undertook the  task
  684. of preparing this  Trusted Database Management System Interpretation
  685. (TDI)  of the TCSEC to focus  on  the  special  problems  posed
  686.  by  DBMSs.  A working group was assembled to draft this Interpretation.
  687.  Three drafts were produced, with extensive community review and
  688. public discussion.  This Interpretation is the result  of the
  689. interaction within the general  computer security and  database
  690. management communities.
  691. SCOPE
  692.  
  693.  
  694.  
  695. The  interpretations  in  this  document  are intended  to  be
  696.  used  in  conjunction  with the TCSEC itself;  they  apply  to
  697.  application-oriented software systems  in general,   and database
  698.  management systems (DBMSs)  in particular.  Although  the interpretations,
  699. as noted,  are general enough to apply  to any software system
  700.  which  supports  sharing  and  needs to enforce access  control
  701. (e.g., transaction  processing systems, electronic   mail   systems),
  702.   in   the   interest  of simplicity, the  discussion, and thus
  703.  the terminology, will be directed toward DBMSs.
  704.  
  705.  
  706. The   interpretations  are  intended   to  be applied  primarily
  707.  to  commercially  developed trusted DBMSs,  but can  also be
  708.  applied to  the evaluation of existing non-commercial DBMSs 
  709. and to the specification of security requirements for DBMS acquisitions.
  710. PURPOSE
  711.  
  712.  
  713.  
  714. This  Interpretation of   the TCSEC  has been prepared for the
  715. following purposes:  
  716.  
  717.  
  718.  To provide a  standard to manufacturers for security features
  719. to build into  their new and  planned commercial products in order
  720. to provide widely available systems that satisfy trust requirements
  721. (with  particular emphasis on  preventing the disclosure of data)
  722. for sensitive applications, 
  723.  
  724.  
  725.  To  provide a  metric with  which to evaluate the degree
  726. of trust that can be placed in computer systems for the secure
  727. processing of classified and other sensitive information, and
  728.  
  729.  
  730.  
  731.  To provide a  basis for specifying security requirements
  732. in acquisition specifications.
  733.  
  734.  
  735. With  respect  to   the  second  purpose  for development of the
  736. criteria, i.e., providing a security evaluation metric,  evaluations
  737. can be  delineated into two  types:  (1)  evaluations performed
  738.  on a  computer product   from   a   perspective   that   excludes
  739.  the application environment; or,  (2) evaluations to assess whether
  740. appropriate  security measures have  been taken to  permit the
  741.  system to  be used  operationally in  a specific environment.
  742.  The former type of evaluation is done  by the  National Computer
  743.  Security Center (NCSC) through the  Trusted Product Evaluation
  744. Program  and is called "formal product evaluation."
  745.  
  746.  
  747. The latter  type of evaluation, that  is, one done for  the purpose
  748. of assessing  a system's security attributes  with  respect  to
  749.  a  specific  operational mission, is  known as a "certification
  750.  evaluation."  A formal   product   evaluation   does   not
  751.   constitute certification  or accreditation  for the  system
  752. to  be used  in  any  specific  application  environment.  The
  753. system   security   certification    and   the   formal approval/accreditation
  754.  procedure,  done  in accordance with the  applicable policies
  755. of the  issuing agencies, must still be followed before  a system
  756. can be approved  for use  in processing  or  handling sensitive
  757. or classified    information. Designated Approving Authorities
  758.  (DAAs) remain  ultimately responsible  for specifying the security
  759. of systems they The  TCSEC and   this Interpretation  will be
  760. used  directly  and  indirectly  in  the  certification process.
  761.   Along with  applicable policy,  they will be used directly 
  762. as technical guidance for  evaluation of the total system and
  763. for specifying system security and certification requirements
  764. for new acquisitions.  Where a  system being  evaluated for  certification
  765. employs a product that has undergone a formal product evaluation,
  766. reports from that process will  be used as input to the certification
  767.   evaluation.   Moreover,   the  National Security Agency plans
  768.  to publish additional guidelines to  assist certifiers  and help
  769.  ensure consistency  in certifications of systems  processing
  770. national security informantion.
  771. STRUCTURE OF THE DOCUMENT
  772.  
  773.  
  774.  
  775. The remainder of the  TDI is divided into two parts, plus two
  776. appendices and a glossary.
  777.  
  778.  
  779. PART 1, TECHNICAL CONTEXT, "presents general information
  780.  about the   evaluation of  trusted systems that are constructed
  781. of several parts.  This discussion is  critical  to  trusted 
  782.  DBMSs  built  upon  trusted operating  systems, but is  not limited
  783. to  DBMSs only.  It is included  in the TDI because it  is not
  784. currently available in  any previously published  document.  This
  785. section reviews the  central reference monitor concept, explains
  786.  the  need  to  evaluate  a  system  built  of well-defined  parts,
  787. and  develops the  concept of  TCB subsets.   TCB subsets  provide
  788.  a  way of  splitting a total TCB  along access control policy
  789.  lines such that an  evaluation  by  parts  can  be  undertaken.
  790.  PART 1 concludes  with   an  interpretation  of   those  TCSEC
  791. requirements  which are  relevant to  an evaluation  by parts,
  792. and  a description of the  process of evaluation by parts.
  793.  
  794.  
  795. PART 2, INTERPRETED REQUIREMENTS, "provides interpretions
  796.  of  those  TCSEC  requirements  that are either specific to DBMSs
  797.  (or applications in general), or are  particularly relevant to
  798. DBMSs.   The number of requirements that are  treated explicitly
  799. is relatively small, because many of  the TCSEC requirements apply
  800. as stated    to   database   management    systems.    The requirements
  801.  treated  explicitly  are  labels,  audit, system    architecture,
  802.   design    specification   and verification, and design documentation.
  803.  
  804.  
  805. Appendix   A   summarizes   the   interpreted requirements  for
  806. each TCSEC  class and is  intended to provide an easy reference
  807. for those requiring a listing of  requirements  for  a  specific
  808.  class  (e.g.,  B2).  Appendix  B provides  discussion of  several
  809. topics not directly  tied to  the requirements  levied on  trusted
  810. DBMSs by the interpretation of the TCSEC requirements.
  811.  
  812.  
  813. The  TDI  proper  will  be  supplemented by a Companion Document
  814. Series (CDS).   The CDS will address a wide spectrum of issues
  815.  related to trusted DBMSs but which are beyond the scope of this
  816. document.  Community debate about on-going topics  of interest
  817. will probably result  in gradual  extensions of  what is  known
  818. about trusted DBMSs.  Thus, volumes in the CDS will be issued
  819. both regularly (to document  the state of the community debate)
  820.  and by exception  (to record new  problems and new solutions).
  821. PART 1 TECHNICAL CONTEXT
  822.  
  823. TC-1 INTRODUCTION
  824.  
  825.  
  826.  
  827. Modern computing systems are rarely conceived and built  by a
  828. single organization.   Rather, the rule is   that  systems   
  829. are  constructed   by  assembling  parts?hardware,    firmware,
  830.   and    software?produced independently  by  various  organizations
  831.  or  vendors.
  832.  
  833.  
  834. This fact introduces a  fundamental difficulty into the task 
  835. of evaluating a  "system" for conformance  to the trust
  836.  requirements  of  the  Trusted  Computer  System Evaluation Criteria
  837. (TCSEC).  [8] This difficulty stems from the  fact that assessment
  838. (either  evaluation of a product or certification of  a system)
  839. entails a global perspective of  the entire system  under consideration.
  840.  There are not yet  widely accepted methods of factoring the 
  841. various aspects  of  a  trust assessment  and then reassembling
  842.  the results  into a  statement about  the whole.
  843.  
  844.  
  845. These conflicting  perspectives of  local production and global
  846.  evaluation analysis are particularly evident  in the field of
  847. database management, but  they are by  no means limited  to that
  848. field.   Thus the   publication of  this Interpretation requires
  849.  consideration  of  how  to  deal with systems built in parts
  850. in the absence of a general treatment of the  topic.  On  the
  851. other  hand, any  treatment of the issue  in the  context of 
  852. trusted database  management will have  significant influence
  853. in other  fields where the  same or  similar problems  arise,
  854. just  because of community  review and  NCSC publication.   The
  855. approach taken  in this  document is  to address  the issues 
  856. of evaluating  systems built  of parts  in a  way that  is independent
  857.   of   the   field   of   trusted  database management.  This
  858.  conscious attitude of  generality is intended  to  make  clear
  859.  the  distinction between the larger  system-of-parts issues 
  860.  and the  more specific DBMS issues.
  861.  
  862.  
  863. PART 1, "TECHNICAL  CONTEXT," is divided into six sections.
  864.  Section TC-2,  "Reference Monitor Perspective,"  summarizes
  865.  the  role  of  the reference monitor concept in both the  TCSEC
  866. and the assessing of a system for its  trust characteristics.
  867.  Section TC-3, "Need for Evaluation by Parts,"  deals
  868. with the need to extend  the reference  monitor perspective  slightly
  869. to begin to address the  evaluation of systems constructed of
  870. separate parts.  Section TC-4, "TCB Subsets," is the
  871. heart   of   PART   1.    That   section  introduces  a conservative
  872.  extension  to  the  reference  validation mechanism,  TCB subsets.
  873.   This extension  provides the basis for being able to undertake
  874. evaluation of systems built in parts in a way that  allows re-use
  875.  of the results of separate evaluations   (whether  those evaluations
  876. were performed before the current evaluation was begun or whether
  877. the separate evaluations overlap  in time).  Section  TC-5, "General
  878. Interpreted Requirements," outlines  the application of the
  879. TCSEC  requirements to individual TCB  subsets when an  evaluation
  880. by parts  is being done.   Section TC-6, "Design  Choices"
  881.  describes  the  general  process  of applying  TCB subsets  and
  882. meeting  the conditions  for evaluation by parts.  The  treatment
  883. in this section is general and not limited  to DBMSs; DBMS-specific
  884. issues are discussed in the appendices.
  885. TC-2 REFERENCE MONITOR PERSPECTIVE
  886.  
  887.  
  888.  
  889. Building   or   evaluating   a   system   for compliance with
  890. the requirements  of a particular class in the TCSEC is based
  891. on the perspective of the Trusted Computing Base (TCB).  The notion
  892. of the TCB is central to the  entire concept of assessing  systems
  893. for trust.  The reference monitor described  in the Anderson report
  894. [1] is the  basis of the notion of a  TCB, as described in the
  895. TCSEC:
  896.  
  897.  
  898. For  convenience,  these  evaluation criteria use  the term  Trusted
  899. Computing  Base to  refer to the reference  validation  mechanism,
  900. beit a security kernel,  front-end  security   filter, or the
  901. entire trusted computer system.  [8, p.  67]  Even in those lower
  902.  classes (below B2) where the reference monitor  concept and reference
  903. validation mechanisms are not mentioned explicitly, the perspective
  904. of the reference monitor and its implementation as  a reference
  905. validation  mechanism is present. Specifically, there  are requirements
  906. for (1) identifying the policy  being enforced, (2) identifying
  907. subjects and  objects, (3) providing evidence  that the operation
  908. of the reference validation mechanism matches the high-level 
  909. description of the user  interface, and (4) demonstrating isolation
  910. of the TCB.
  911.  
  912.  
  913. Therefore,  all TCSEC  evaluations share  the initial conceptual
  914.  steps of identifying  the mediation policy, the subjects, and
  915. the objects.  Starting from a global  system  perspective,  the
  916.  initial  step  is to identify  the  access  mediation  policy
  917.  that  will be enforced.  One  must then identify those  active
  918. system entities that  are candidates for being  the "subjects"
  919. whose   access  to   objects  the   TCB  will  mediate.  Similarly,
  920.  one must  identify those  passive entities, those data repositories,
  921. that  are candidates for being the "objects," access
  922. to which the TCB will mediate.
  923.  
  924.  
  925. As usual, the existence of an abstraction within a system does
  926. not make it necessarily  a reference-monitor object, i.e., one
  927.  visible at the TCB interface.  This  is because the  TCB will
  928. make  use of system abstractions for both its internal processes
  929. and its storage requirements.   Those entities, while being stored
  930.  in system "objects,"  will not be  available to untrusted
  931. processes (that is,  they are not exported by the TCB).   Thus
  932. the analytical, iterative  step is the separation of candidate
  933. subjects and objects into those that are mediated by the TCB and
  934. those that are not.
  935.  
  936.  
  937. The various trust classes include requirements,  at varying  
  938. levels of  completeness and rigor, that the basic  reference monitor
  939. perspective of mediating access of subjects  to objects be implemented
  940. in  a  correct,   self-protecting,  and  non-bypassable manner.
  941.   The core  requirements of  the TCSEC  classes focus  on  these
  942.  reference  monitor  imperatives.  The increasingly  strict requirements
  943.  for visibility  into the   system  design  and   implementation
  944.  (structure, documentation, testing, configuration, and distribution
  945. requirements)  all support  the notion  of checking the system's
  946.  conformance  to  its  identified  intent with regard to the subjects,
  947. objects, and policy.
  948. TC-3 NEED FOR EVALUATION BY PARTS
  949.  
  950.  
  951.  
  952. The need  to be able to  evaluate and certify systems built  in
  953. parts is increasingly  evident.  This need is seen in a variety
  954. of contexts:
  955.  
  956.  
  957. The  need to  evaluate and  certify systems built  out  of  parts
  958.  sold  by  different  vendors,  a situation especially prevalent
  959. in  the field of trusted DBMSs.
  960.  
  961.  
  962. The  need to   re-assess systems  that have undergone either small-
  963. or large-scale improvements and are  already  evaluated  and 
  964. placed  on  the Evaluated Products List (EPL).
  965.  
  966.  
  967. The general problem of "families of systems," systems
  968. that exist  on a spectrum of hardware bases or  that can be customized
  969. for  a user's specific needs.
  970.  
  971.  
  972. In all such cases,  two related versions of a system are  largely
  973. similar.  It should  be possible to undertake evaluations and
  974. certifications  in such a way that the entire assessment does
  975.  not have to be re-done for every  slight variation that appears.
  976.   The current state  of technology,   however, places  limitations
  977. on what  can be  accomplished in  this regard;  it is  not currently
  978. possible to determine the trust characteristics  of  a  system
  979.   on  the  basis  of  an arbitrary collection of subparts.   The
  980. overall task of trust assessment entails  so many interrelated
  981. subtasks that the ability to separate and reassemble is not well
  982. understood.
  983.  
  984.  
  985. In this circumstance of needing to be able to accommodate evaluation
  986.  of a system built  in parts and the lack of  consensus about
  987. how this can be  done in a technically sound fashion, a conservative
  988. approach must be adopted.   The following are required:   (1)
  989. a clear description  of  what  "parts"  will  be considered
  990. for separate  evaluation; (2)  a clear  description of  the conditions
  991. under which such an evaluation by parts will be  undertaken; 
  992. and  (3)  a  general interpretation of TCSEC requirements as they
  993. would apply when a system is being  evaluated by  parts.  The
  994.  "parts" that  will be considered  by  separate  evaluation
  995.  are  called  "TCB subsets," the topic of Section TC-4
  996. below.
  997. TC-4 TCB SUBSETS
  998.  
  999. TC-4.1 INTRODUCTION
  1000.  
  1001.  
  1002.  
  1003. To  attempt   an  evaluation  of  a   TCB  by splitting  it into
  1004.  parts,  there  must be  available a precise  definition of  what
  1005. parts  are candidates  for separate evaluation (that is,  for
  1006. evaluation by parts) as well as any other  conditions that must
  1007. be satisfied before an evaluation by parts will be undertaken.
  1008.  This section   defines  "TCB   subset"  as   a  strict
  1009.   and conservative  extension of  the traditional  concept of
  1010. the reference validation mechanism (RVM) as a method of delineating
  1011. which parts of a  TCB can be candidates for separate evaluation.
  1012.  The definition of TCB subsets, as well  as  explanatory  and
  1013.  motivational  material,  is included   below  in   Section  TC-4.2,
  1014.   "TCB  Subsets Context."  Section TC-4.3 addresses
  1015. the conditions that must be  satisfied by a TCB  divided into
  1016. a set  of TCB subsets before evaluation by  parts will be undertaken.
  1017.  These  conditions  assure  that  the  structure  of and relationships
  1018.  among  TCB  subsets  will  satisfy TCSEC requirements,   especially
  1019.  those   derived  from   the reference monitor concept.
  1020. TC-4.2 TCB SUBSETS CONTEXT
  1021.  
  1022. TC-4.2.1 DEFINITION OF TCB SUBSETS
  1023.  
  1024.  
  1025.  
  1026. A  TCB  subset  M  is  a  set  of  software, firmware, and hardware
  1027. (where  any of these three could be  absent) that  mediates the
  1028.   access of  a set  S of subjects to a set O of objects on the
  1029. basis of a stated access control policy P and satisfies the properties:
  1030.  
  1031.  • 1) M mediates every access to objects in O by subjects in
  1032. S;
  1033.  • 2) M is tamper resistant; and
  1034.  • 3) M  is  small  enough  to  be  subject  to analysis  and
  1035. tests, the  completeness of which  can be assured.
  1036.  
  1037.  
  1038.  
  1039.  
  1040.  
  1041.  
  1042.  •  M uses resources provided  by an explicit set of more primitive
  1043. TCB subsets  to create the objects of O, create  and manage its
  1044. data  structures, and enforce the  policy  P.   If  there  are
  1045.  no  TCB  subsets more primitive than  M, then M uses  only hardware
  1046. resources to  instantiate its objects,  to create and  manage
  1047. its own data structures, and to enforce its policy.
  1048.  •  The  above  definition  does  not  explicitly prohibit an
  1049. access control policy P that allows trusted subjects.  The implications
  1050.  for the evaluation process when  a TCB  subset's policy  allows
  1051. or  does not allow such trusted subjects are substantial and are
  1052. discussed in Section TC-6.4.  As described  in TC-4.3, one of
  1053. the conditions for an evaluation by  parts of a TCB made up of
  1054. TCB subsets is that all the trusted subjects of each TCB subset
  1055. be included in that TCB subset.
  1056.  •  
  1057.  
  1058.  
  1059.  
  1060.  
  1061.  
  1062. TC-4.2.2 MOTIVATION
  1063.  
  1064.  
  1065.  
  1066. The definition of "TCB subset" is intended to parallel
  1067. the  definitions of the reference  monitor and reference  validation
  1068. mechanism  found in  the Anderson report [1] and included in the
  1069. TCSEC itself.  "The term Trusted  Computing  Base   [refers]
  1070.  to  the  reference validation mechanism, be  it security kernel,
  1071. front-end security  filter,   or  the  entire   trusted  computer
  1072. system."  [8,  p.  67] "TCB subset"  is defined
  1073. exactly like  a reference  validation mechanism,  with only one
  1074. difference, that it does  not necessarily extend to the hardware.
  1075.   Rather, a  TCB subset  uses either hardware resources  or  the
  1076.  resources  provided  by other, more primitive  TCB  subsets.
  1077.   Thus  TCB  subsets  build on abstract machines, either physical
  1078. hardware machines or other  TCB  subsets.   Just  like  reference
  1079. validation mechanisms, a TCB subset  must enforce a defined access
  1080. control policy.
  1081. TC-4.3 CONDITIONS FOR EVALUATION BY PARTS
  1082.  
  1083.  
  1084.  
  1085. Building  or evaluating   a system  using the definition of TCB
  1086. subsets in the section above requires meeting  six conditions
  1087.   in addition  to demonstrating that the  candidate TCB subsets
  1088. satisfy  the properties appropriate  to  the   evaluation  target
  1089.  class.   The conditions are as follows:
  1090.  
  1091.  
  1092. The   candidate  TCB   subsets  are identified;
  1093.  
  1094.  
  1095. The  system policy is  allocated to the candidate TCB subsets;
  1096.  
  1097.  
  1098. Each candidateTCB subset M[i] includes all the trusted subjects
  1099.   with   respect   to its technical policies P[i];
  1100.  
  1101.  
  1102. The   TCB   subset   structure   or architecture is explicitly
  1103. described;
  1104.  
  1105.  
  1106. Each  TCB subset  occupies distinct subset-domains; and
  1107.  
  1108.  
  1109. The  more   primitive  TCB  subsets provide support for the RVM
  1110. arguments  for  less  primitve  TCB subsets.
  1111.  
  1112.  
  1113. These conditions are described below.
  1114. TC-4.3.1 CANDIDATE TCB SUBSETS
  1115.  
  1116.  
  1117.  
  1118. The  first  condition  is  that  the relevant elements   of  each
  1119.   candidate  TCB   subset  M[i]  be identified.  The hardware,
  1120. firmware, and software which compose the  TCB subset need to 
  1121. be clearly identified, along  with  the  subjects  and  objects.
  1122.   In terms of Section TC-4.2.1, this  condition is the identification
  1123. of  M[i], S[i],  and O[i].    There may  be no  objects mediated
  1124. by  more than one TCB subset.   That is, there cannot be an object
  1125. O that is both in O[i] and O[j].
  1126. TC-4.3.2 POLICY ALLOCATION
  1127.  
  1128.  
  1129.  
  1130. The next condition  is policy allocation, the description  of
  1131.  the  technical  policy  P[i]  for each identified  M[i]  along
  1132.  with  the  relation  of  these policies  to the  system policy
  1133.  P.  The  policies P[i] will  be expressed  in terms  of subjects
  1134.  in S[i]  and objects   in  O[i].    Thus,  to   satisfy  the
  1135.   TCSEC requirement that the (composite) TCB enforce its stated
  1136. policy P, each rule in  P must be traceable through the structure
  1137.  of  the  candidate  TCB  subsets  to the TCB subset(s) where
  1138. that  enforcement occurs.  See Sections TC-5.2.1.1 and TC-5.2.1.4.
  1139. TC-4.3.3 TRUSTED SUBJECTS INCLUDED
  1140.  
  1141.  
  1142.  
  1143. Every  trusted subject  with respect  to P[i] must be  part of
  1144. the  TCB subset M[i].   This condition makes possible separate
  1145. evaluation  of TCB subsets with respect to  "local"
  1146. requirements.  When  this condition is not met, evaluation  of
  1147. candidate TCB subsets cannot be  guaranteed on an  evaluation
  1148. by parts  basis.  This situation is treated in Section 6.4.
  1149. TC-4.3.4 TCB SUBSET STRUCTURE
  1150.  
  1151.  
  1152.  
  1153. The  TCB  subsets  will  exhibit  a structure based  on  the 
  1154. ordering  implied  by  dependency.  TCB subset A is  less primitive
  1155. than TCB subset B  if (a) A directly  depends on B  or (b) a 
  1156. chain of TCB  subsets from A to B exists such  that each element
  1157. of the chain directly  depends on  its successor  in the  chain.
  1158.  In this  case we  use the   phrase "TCB  subset B  is more
  1159. primitive than TCB subset A" synonymously.
  1160.  
  1161.  
  1162. The  sense  of  "directly  depend"  in (a) is exactly
  1163.  the following: it is not possible to verify the implementation
  1164. of A with respect to its specification without a statement about
  1165. the specification of B.
  1166.  
  1167.  
  1168. More precisely, for a candidate TCB subset M, let sM denote the
  1169. specification of M.  The specification will include, as a minimum,
  1170. the statement of the technical policy P of M.  Further, let vM
  1171. denote the (engineering) demonstrations of the correctimplementation
  1172. of M with  respect to its specification.
  1173.  
  1174.  
  1175. A (candidate) TCB subset A depends (for its correctness)"
  1176. on  (candidate) TCB subset B  if and only if the arguments of
  1177. vA  assume, wholly or in part, that sB has been implemented correctly.
  1178.  (See Appendix B, item 5 for additional discussion.)
  1179.  
  1180.  
  1181. The proposed structure of  TCB subsets has to be identified. 
  1182. The order must  be a  partial order. (Without  a  partial  order,
  1183.  there  could  be circular chains of dependencies  that  would
  1184.  inhibit separate evaluations of the TCB subsets.)
  1185.  TC-4.3.5 SEPARATE SUBSET-DOMAINS
  1186.  
  1187.  
  1188.  
  1189. The candidate TCB subsets must operate in near isolation from
  1190. each other, with the only interaction between them being that
  1191. explicitly asserted as  part of  the interface.   In the  case
  1192. of reference monitors, many existing  implementations have relied
  1193. on the domain  concept [23] which supports  the assertions of
  1194.  non-bypassability and  self protection.   A natural extension
  1195.  of the domain  concept will be  required for isolation  of  TCB
  1196.  subsets  from  each  other and from non-TCB entities.
  1197.  
  1198.  
  1199. A subset-domain  is a set of  system domains.
  1200.  
  1201.  
  1202. Each  candidate  TCB  subset  must  occupy  a  distinct subset-domain
  1203. such that modify-access to a TCB subset's subset-domain is permitted
  1204. only  to that TCB subset and (possibly) to more primitive  TCB
  1205. subsets.   This requirement  ensures that the structure of subset-domains
  1206. with respect to access is consonant with the dependency relation
  1207. among TCB subsets.
  1208. TC-4.3.6 SUPPORT FOR RVM ARGUMENTS
  1209.  
  1210.  
  1211.  
  1212. Candidate TCB subsets  must satisfy the three RVM properties 
  1213. included in the definition  in TC-4.2.1 in order to complete 
  1214. evaluation by parts successfully.  TCB subsets  that build on
  1215. resources  and functionality provided  by more  primitive TCB
  1216.  subsets must  rely on assured and  evaluatable characteristics
  1217. of  those more primitive TCB  subsets.  A convincing argument
  1218.  must be advanced   that  the  features,   characteristics,  and
  1219. assurances provided  by the more primitive  TCB subsets are  capable
  1220. of supporting  RVM arguments for  the less primitive TCB subsets.
  1221.  
  1222.  
  1223. The  first property (mediating  every access) requires  that 
  1224. there  is   no  way  of  bypassing  the mediation  provided by
  1225.  TCB subset  M for  its objects, either  directly  or   by  unexpected
  1226.  side-effects  of interactions  with  other  TCB  subsets.   A
  1227. variety of approaches   could  suffice   for  demonstrating  
  1228. this property.
  1229.  
  1230.  
  1231. The   second  property   (tamper  resistance) requires that the
  1232. policy-critical code and data for the less  primitive  TCB  subset
  1233.   be  protected  from  any alteration not specifically allowed
  1234.  by the TCB subset.  A variety of approaches could suffice for
  1235. demonstrating this property.
  1236.  
  1237.  
  1238. The  third property (completeness  of testing and analysis for
  1239. correctness) requires the (engineering) demonstrations vM[i] of
  1240.  the correctnessof each less primitive  candidate TCB subset 
  1241. M[i].  Aconvincing argument must therefore be advanced that the
  1242. specifications sM[k] for all  of the more primitive TCB subsets
  1243.  M[k] on  which M[i]  depends will  suffice for establishing vM[i].
  1244. TC-4.4 EVALUATION ALTERNATIVES
  1245.  
  1246.  
  1247.  
  1248. As noted earlier, the need to evaluate systems whose elements
  1249. are developed  separately, possibly by independent developers,
  1250. results in the need to define  TCB subsets.  That  is not to 
  1251. say, however, that  design  by  TCB  subsetting  and  the  subsequent
  1252. evaluation by parts are the only alternatives.  Rather, there
  1253. are three distinct possibilities.
  1254.  
  1255.  
  1256. A  system  TCB,  regardless  of  any internal structure, may be
  1257. viewed as a single entity.  In such a case,  the  evaluation 
  1258. may  proceed  essentially as an evaluation against the TCSEC.
  1259.  This case is examined in Section TC-6.2.
  1260.  
  1261.  
  1262. A system TCB may  be presented as a subsetted architecture  composed
  1263.  of  a  number  of candidate TCB subsets.  Given that each  of
  1264. the candidate TCB subsets satisfies the  conditions set forth
  1265. in  Section TC-4.3, an  evaluation  by  parts  is  possible. 
  1266.  This case is described in Section TC-6.3.
  1267.  
  1268.  
  1269. It  may be possible  to satisfy only  some of the conditions for
  1270. evaluation by parts.  This situation might  arise when  a  previously
  1271.  evaluated TCB  or TCB subset is modified  to accommodate the
  1272. policy-enforcing elements of a new application layer.  A special
  1273. case of this situation is described in Section TC-6.4.  In such
  1274. cases,  depending  upon  the  particulars,  it  may  be possible
  1275. to  realize some of the  savings in evaluation effort.  However,
  1276. no general statements can be made for these cases.
  1277. TC-5 GENERAL INTERPRETED REQUIREMENTS
  1278.  
  1279. TC-5.1 OVERVIEW
  1280.  
  1281.  
  1282.  
  1283. This section provides specific interpretations  of those  TCSEC
  1284. requirements  that are particularly  relevant for subsetted  architectures
  1285. and evaluation by parts.  Its  organization is derived from the
  1286.  structure  of  the  TCSEC  requirements.  For each relevant TCSEC
  1287. requirement there is a discussion of how that  requirement is
  1288.  interpreted in  an evaluation  by parts.
  1289.  
  1290.  
  1291. For   conciseness,   only   the  requirements headings applicable
  1292. for A1  systems are included below.  Thus,  the  interpretation
  1293.  guidance  below  should  be applied  only as demanded  by the
  1294. requirements  for the target  class of the  candidate trusted
  1295. system.   For a system targeted  at an evaluation class  below
  1296. A1, only those  requirements that  pertain to  the target  class
  1297. apply to the TCB subsets making up that system.
  1298.  
  1299.  
  1300. A    listing   of   the    requirements   and interpretations
  1301. by TCSEC class is presented in Appendix A.   The rationale for
  1302.  the applicability of  the TCSEC requirements to TCB  subsets
  1303. alone or to the  TCB as an entirety is described in Appendix B,
  1304. item 7.]
  1305. TC-5.2 DETAILED REQUIREMENTS
  1306.  
  1307. TC-5.2.1 SECURITY POLICY
  1308.  
  1309. TC-5.2.1.1 Discretionary Access Control
  1310.  
  1311.  
  1312.  
  1313. The discretionary access control requirements apply as stated
  1314. in the  TCSEC to every TCB subset whose policy  includes discretionary
  1315.   access control  of its subjects to  its objects.  Any TCB  subset
  1316. whose policy does not  include such discretionary access  control
  1317. is exempt from this requirement.
  1318. TC-5.2.1.2 Object Reuse
  1319.  
  1320.  
  1321.  
  1322. This  requirement applies   as stated  in the TCSEC to every TCB
  1323. subset in the TCB.
  1324. TC-5.2.1.3 Labels
  1325.  
  1326.  
  1327.  
  1328. This requirement applies as stated in the TCSEC  to  every  TCB
  1329.   subset  whose  policy  includes mandatory access control of
  1330. its subjects to its objects.  Any TCB subset  whose policy does
  1331. not include such  mandatory  access  control  is  exempt  from
  1332. this requirement.
  1333. Label Integrity
  1334.  
  1335.  
  1336.  
  1337. This requirement applies as stated in the TCSEC to every  TCB
  1338. subset whose policy includes mandatory  access control of its
  1339. subjects to its objects.  Any TCB subset  whose policy does not
  1340. include such  mandatory  access  control  is  exempt  from this
  1341. requirement.
  1342. Exportation of Labeled Information
  1343.  
  1344.  
  1345.  
  1346. This  requirement applies as stated in the TCSEC to every TCB
  1347. subset whose policy includes mandatory  access  control of its
  1348. subjects to its objects.  Any TCB subset  whose policy does not
  1349. include such  mandatory  access  control  is  exempt  from this
  1350. requirement.
  1351. Subject Sensitivity Labels
  1352.  
  1353.  
  1354.  
  1355. This  requirement applies   as stated  in the TCSEC to the entire
  1356. TCB.  The cooperative action of the TCB  subsets  making  up 
  1357.  the  TCB  must  satisfy  the requirement.
  1358. Device Labels
  1359.  
  1360.  
  1361.  
  1362. This  requirement applies as stated in the TCSEC  to every TCB
  1363. subset  whose  policy  includes mandatory access control of its
  1364. subjects to its objects and has attached physical  or virtual
  1365. devices.  Any TCB subset  whose policy  does not  include such
  1366.  mandatory access control  or has no attached  physical or virtual
  1367. devices   is  exempt   from  this   requirement.   This requirement
  1368. can be satisifed  by the cooperative action of more than one TCB
  1369. subset.  
  1370. TC-5.2.1.4 Mandatory Access Control
  1371.  
  1372.  
  1373.  
  1374. This  requirement applies   as stated  in the TCSEC to every TCB
  1375. subset  whose  policy  includes mandatory  access  control  of
  1376.   its  subjects  to  its objects.  Any TCB subset  whose policy
  1377. does not include such  mandatory  access  control  is  exempt
  1378.  from this requirement.
  1379. TC-5.2.2 ACCOUNTABILITY
  1380.  
  1381. TC-5.2.2.1 Identification and Authentication
  1382.  
  1383.  
  1384.  
  1385. This  requirement applies   as stated  in the TCSEC to the entire
  1386. TCB.  The cooperative action of the TCB  subsets  making  up 
  1387.  the  TCB  must  satisfy  the requirement.
  1388.  
  1389.  
  1390. If  the TCB is  composed of TCB  subsets, one TCB subset  may
  1391. either rely  on a mechanism  in another TCB subset to provide
  1392. identification and authentication services or provide  the services
  1393. directly.  Similarly, that TCB subset may rely on a mechanism
  1394. in another more primitive TCB subset to  ensure that the security
  1395. level of subjects external to the  TCB that may be created to
  1396. act on  behalf of the individual user  are dominated by the clearance
  1397. and authorization of that user.  Each TCB subset   may  maintain
  1398.   its  own   identification  and authentication  data or  one
  1399. central  repository may be maintained.  If each TCB subset  has
  1400. its own data, then the  information  for  each  individual  user
  1401.  must  be consistent among all subsets.
  1402. Trusted Path
  1403.  
  1404.  
  1405.  
  1406. This  requirement applies   as stated  in the TCSEC to the entire
  1407. TCB.  The cooperative action of the TCB  subsets  making  up 
  1408.  the  TCB  must  satisfy  the requirement.
  1409.  
  1410.  
  1411. When  TCB subsets  are used,  the requirement for  trusted  path
  1412.  at  levels  B2  and  above  remains applicable  to the  entire
  1413. TCB.   The need  for trusted path "when positive  TCB-to-user
  1414. connection is required (e.g.,  login,  change  subject  security
  1415.  level)"  can require user interaction with  virtually any
  1416. TCB subset within  the TCB.   The implementation  of trusted 
  1417. path could   be   localized   in   a   single   TCB  subset. 
  1418. Alternatively, it could be implemented in more than one TCB  subset
  1419. if   the separate  implementations together comply with the system
  1420. security policy.
  1421. TC-5.2.2.2 Audit
  1422.  
  1423.  
  1424.  
  1425. This  requirement applies   as stated  in the TCSEC to the entire
  1426. TCB.  The cooperative action of the TCB  subsets  making  up 
  1427.  the  TCB  must  satisfy  the requirement.
  1428.  
  1429.  
  1430. A  TCB subset  may maintain  its own security audit  log,  distinct
  1431.  from  that  maintained  by  more primitive TCB subsets, or it
  1432. may use an audit interface provided by  a different TCB subset
  1433.  allowing the audit records  it  generates  to  be  processed
  1434.  by  that TCB subset.
  1435.  
  1436.  
  1437. If  the   TCB  subset  uses   different  user identifications
  1438. than a more primitive TCB subset, there shall be  a means to associate
  1439.  audit records generated by different  TCB subsets for the  same
  1440. individual with each other,  either at the  time they are  generated
  1441. or later.
  1442.  
  1443.  
  1444. Any TCB subset wherein  events may occur that require  notification
  1445.  of  the  security  administrator
  1446.  
  1447.  
  1448. shall  be able  to do  the following:   (1) detect  the occurrence
  1449. of these events,  (2) initiate the recording  of  the  audit 
  1450. trail   entry,  and  (3)  initiate  the notification of the security
  1451.   administrator.   The ability to  terminate events (2)  and (3)
  1452. above  may be provided  either in  the TCB  subset within which
  1453. they occur, or in the TCB  subset(s) where actions that lead to
  1454. the event were initiated.
  1455.  
  1456.  
  1457. The monitoring  and notification requirements may require  cooperation
  1458. between multiple  distinct TCB subsets  or  multiple  instantiations
  1459.  of  the same TCB subset.   For example,  to detect  the accumulation
  1460.  of events for a single user it may be necessary to collect events
  1461. from several subjects in distinct processes that are surrogates
  1462. for the  same user.  As another example, there may  be a single
  1463. TCB subset  that collects events from a  number of other TCB 
  1464. subset instantiations and, based  on its analysis  of them, notifies
  1465.  the security administrator.
  1466. TC-5.2.3 ASSURANCE
  1467.  
  1468. TC-5.2.3.1 Operational Assurance
  1469.  
  1470. System Architecture
  1471.  
  1472.  
  1473.  
  1474. This  requirement applies   as stated  in the TCSEC to every 
  1475. TCB subset, with the following
  1476.  
  1477.  
  1478. additional interpretations.The  TCB must  provide domains  for
  1479. execution that are allocated to and used by TCB subsets according
  1480. to the subset-domain condition for evaluation by parts.  A  most
  1481. primitive TCB  subset must provide  domains for execution.  A
  1482.  less primitive TCB subset  must make use of domains provided
  1483. by a  more primitive TCB subset.  A less primitive TCB subset
  1484. may provide further execution domains but is not required to do
  1485. so.
  1486.  
  1487.  
  1488. Similarly,  the  TCB  must  provide  distinct address  spaces
  1489.   for  untrusted  processes.    A  most primitive  TCB  subset
  1490.  must  provide  distinct address spaces for  its subjects.  A
  1491. less  primitive TCB subset must make use of the distinct address
  1492. space provided by a  more primitive  TCB  subset.   A less  primitive
  1493. TCB subset may  provide more fine-grained  distinct address spaces,
  1494. but is not required to do so.
  1495.  
  1496.  
  1497. In general, requirements specifically referring  to hardware 
  1498. or firmware  apply only  to TCB subsets that include hardware
  1499. or firmware.   The exception  is   the  requirement  that  the
  1500.   TCB  make effective use of  available hardware.  This requirement
  1501. applies  to  those  TCB   subsets  that  use  resources provided
  1502.  by  more  primitive  TCB  subsets  in lieu of hardware.   Those
  1503.  TCB  subsets  are  required  to make effective  use  of   the
  1504.  protection-relevant  features exported to it by the more primitive
  1505. TCB subsets (e.g., execution domains, support for distinct address
  1506. spaces) to separate those elements that are protection-critical
  1507. from those that are not.
  1508. System Integrity
  1509.  
  1510.  
  1511.  
  1512. This  requirement applies   as stated  in the TCSEC  to every
  1513.  TCB subset  that includes  hardware or firmware.   Any  TCB 
  1514. subset   that  does  not  include hardware or firmware is exempt
  1515. from this requirement.
  1516. Covert Channel Analysis
  1517.  
  1518.  
  1519.  
  1520. This  requirement applies as stated in the TCSEC  to the  entire
  1521. TCB.    When the  TCB is  made up entirely  of  TCB  subsets 
  1522. meeting  the conditions for evaluation  by parts,  analysis of
  1523.  the individual  TCB subsets satisfies this  requirement.  Otherwise,
  1524. covert channel  analysis of the  entire TCB must  be performed
  1525. (even if the results of  covert channel analysis of the individual
  1526. TCB subsets were available).
  1527. Trusted Facility Management
  1528.  
  1529.  
  1530.  
  1531. This  requirement applies   as stated  in the TCSEC to the entire
  1532. TCB.  Any  "operator"  or "administrator"
  1533.  functions intrinsic  to an  individual TCB subset must be supported
  1534. by that TCB subset or by a more primitive TCB subset.
  1535. Trusted Recovery
  1536.  
  1537.  
  1538.  
  1539. This  requirement applies   as stated  in the TCSEC  to the  entire
  1540. TCB   and to  the individual  TCB subsets.  The  cooperative recovery
  1541. actions of  the TCB subsets making up the TCB must provide trusted
  1542. recovery for  the  overall  TCB.   Otherwise,  trusted  recovery
  1543. evaluation  must address  the entire  TCB (even  if the individual
  1544.  TCB  subsets   meet  the  trusted  recovery requirements).
  1545. TC-5.2.3.2 Life-Cycle Assurance
  1546.  
  1547. Security Testing
  1548.  
  1549.  
  1550.  
  1551. This  requirement applies   as stated  in the TCSEC  to the  entire
  1552. TCB.   If a  TCB consists  of TCB subsets meeting the conditions
  1553. for evaluation by parts, the satisfaction of the requirements
  1554. by each TCB subset satisfies   the  requirement    for  the  
  1555. entire  TCB.  Otherwise, security  testing of the entire  TCB
  1556. must be performed   (even  if   the  results   of  testing  the
  1557. individual TCB subsets were available).
  1558. Design Specification and Verification
  1559.  
  1560.  
  1561.  
  1562. This  requirement applies   as stated  in the TCSEC to every TCB
  1563.  subset, with the following specific additional interpretations.
  1564. It  must be   demonstrated that  the securitypolicy enforced by
  1565. the  composite TCB is represented by the collection of policy
  1566.  models for the individual TCB subsets.
  1567.  
  1568.  
  1569. The argument  that the descriptive  top level specification (DTLS)
  1570. and formal top level specification (FTLS) are consistent with
  1571. the TCB interface applies to the  entire TCB.   There  is  required
  1572. an  explicit and convincing  description of  how  the  set of
  1573.  top level specifications (one for each  TCB subset) describes
  1574. the TCB  interface  in  terms  of  exceptions,  errors, and effects.
  1575. Configuration Management
  1576.  
  1577.  
  1578.  
  1579. This  requirement applies   as stated  in the TCSEC  to  every
  1580.  TCB  subset  in  the  TCB,  with  the following additional interpretation.
  1581.  
  1582.  
  1583. Because subsets  of the TCB may  be developed independently, a
  1584. single configuration management system may  not  be  feasible.
  1585.   However,  the  combination of configuration  management systems
  1586.  used to  support all the TCB subsets must  meet all the stated
  1587. requirements.  The  information describing the  interrelations
  1588. between separate  TCB  subsets  and  separate  security  policy
  1589. models  falls into  the category  of "all documentation and
  1590.  code associated  with the  current version  of the TCB"
  1591. in the TCSEC requirements.
  1592. Trusted Distribution
  1593.  
  1594.  
  1595.  
  1596. This  requirement applies   as stated  in the TCSEC to the  entire
  1597. TCB.  It can be  met by satisfying the  requirements  for  each
  1598.  TCB  subset if procedures exist for  assuring that all  TCB subsets
  1599. upon  which a particular  TCB  subset  depends  (that  is,  the
  1600.  more primitive TCB subsets) are  exactly the same version as
  1601. specified for the TCB subset in question.
  1602. TC-5.2.4 DOCUMENTATION
  1603.  
  1604. TC-5.2.4.1 DOCUMENTATION
  1605.  
  1606.  
  1607.  
  1608. This  requirement applies   as stated  in the TCSEC to every TCB
  1609. subset  in the TCB.  This collection of guides must include descriptions
  1610. of every TCB subset in  the  TCB  and  explicit  cross-references
  1611.  to other related  user's   guides  to  other  TCB   subsets,
  1612.  as required.  In addition, interactions between mechanisms within
  1613. different TCB subsets must be clearly described.
  1614. TC-5.2.4.2 Trusted Facility Manual
  1615.  
  1616.  
  1617.  
  1618. This  requirement applies   as stated  in the TCSEC to the TCB
  1619. and to every TCB subset in the TCB.
  1620.  
  1621.  
  1622. This  requirement can  be met  by providing a set of manuals,
  1623. one  for each distinct (non-replicated) TCB  subset.  Each  manual
  1624. shall  address the functions and privileges to be  controlled
  1625. for the associated TCB subset.   Additionally,   it  must  clearly
  1626.   show  the interfaces to, and the interaction with, more primitive
  1627. TCB  subsets.  The  manual  for  each TCB  subset shall identify
  1628.  the  functions  and  privileges  of  the  TCB subsets  on which
  1629.  the associated  TCB subset  depends.  Also, the TCB subset's
  1630.  manual shall identify which, if any,  configuration options 
  1631. of the  more primitive TCB subsets are to be used for the composite
  1632. TCB to operate securely.
  1633.  
  1634.  
  1635. Any   pre-defined   roles   supported  (e.g., database  administrator)
  1636.  by  the  TCB  subset shall be addressed.
  1637.  
  1638.  
  1639. The means for correlating multiple audit logs and synonymous 
  1640. user identifications from  multiple TCB subsets (if such exist)
  1641. shall also be addressed.  The  trusted facility  manual shall
  1642.  describe the  composite TCB so  that the interactions  among
  1643. the TCB subsets  can be readily determined.   Other manuals may
  1644. be  referenced in this determination.   The manuals that address
  1645.  the distinct modules  of the TCB  and the generation of  the
  1646. TCB need  to be integrated  with the other trusted facility manuals
  1647.  only to the extent that they are affected by the  use and operation
  1648. (versus the development) of the composite TCB.
  1649.  
  1650.  
  1651. The  TCB modules  that contain  the reference validation  mechanism
  1652. must  be associated  with the TCB subset  to  which  they   belong.
  1653.   The  procedure  for generating  a  new  TCB  after  modifying
  1654.  only one (or several)  TCB subsets must  be described.  This
  1655.  may be accommodated   by  independent   regeneration  of   the
  1656. individual TCB  subsets or by regeneration  of only the affected
  1657. TCB subsets.
  1658. TC-5.2.4.3 Test Documentation
  1659.  
  1660.  
  1661.  
  1662. This  requirement applies   as stated  in the TCSEC to the composite
  1663. TCB.
  1664. TC-5.2.4.4 Design Documentation
  1665.  
  1666.  
  1667.  
  1668. This  requirement applies   as stated  in the TCSEC to the composite
  1669. TCB, with the following specific additional interpretations:
  1670.  
  1671.  
  1672. Requirements  concerning  models,  FTLS and DTLS, apply to individual
  1673. TCB subsets.
  1674.  
  1675.  
  1676. The requirement  concerning the description of interfaces  between
  1677. modules of the  TCB includes the interfaces between TCB subsets.
  1678.  
  1679.  
  1680. The documentation of  the implementation of a reference validation
  1681. mechanism must include justification for meeting the conditions
  1682. for evaluation by parts.
  1683.  
  1684.  
  1685. The  A1 requirement to describe clearly  non-FTLS internals of
  1686.  the TCB applies  to TCB subsets.
  1687. TC-5.3 SUMMARY OF THE REQUIREMENTS
  1688.  
  1689.  
  1690.  
  1691. The  requirements interpretations  in Section TC-5.2 above can
  1692. be grouped into two categories:  those that  apply to  individual
  1693. TCB  subsets and  those that apply  totally or  in part   to the
  1694.  overall TCB.   For purposes  of exposition,  the former  category
  1695. will  be termed "local  requirements," that is, those
  1696.  for which separate  analysis   of  the  individual   TCB  subsets
  1697. suffices to determine compliance for the composite TCB.  The latter
  1698.  are termed "global requirements,"  that is, those which
  1699.  require analysis of the  entire system and for  which  separate
  1700.  analysis  of  the  individual TCB subsets does not suffice.
  1701. TC-5.3.1 LOCAL REQUIREMENTS
  1702.  
  1703.  
  1704.  • Discretionary Access Control;
  1705.  • Object Reuse;
  1706.  • Labels (except Subject Sensitivity Labels);
  1707.  • Mandatory Access Control;
  1708.  • System   Architecture  (except   domains  for
  1709.  
  1710.  
  1711.  
  1712.  
  1713. execution and distinct address spaces);
  1714.  
  1715.  • System Integrity;
  1716.  • Configuration Management;
  1717.  • Security Features User's Guide;
  1718.  • Design Documentation
  1719.  • models,
  1720.  • DTLSs,
  1721.  • FTLSs, and
  1722.  • non-FTLS internals.
  1723.  
  1724.  
  1725.  
  1726.  
  1727.  
  1728. TC-5.3.2 GLOBAL REQUIREMENTS
  1729.  
  1730.  
  1731.  
  1732. Subject     Sensitivity    Labels;    
  1733.  
  1734.  
  1735. Identification and  Authentication;   
  1736.  
  1737.  
  1738. Trusted  Path; 
  1739.  
  1740.  
  1741. Audit; 
  1742.  
  1743.  
  1744. System Architecture domains for execution, and distinct address
  1745. spaces;
  1746.  
  1747.  
  1748.               Covert   Channel   Analysis;        
  1749.  
  1750.  
  1751.      Trusted   Facility Management;     
  1752.  
  1753.  
  1754.      Trusted   Recovery  (also  applies  to
  1755.  
  1756.  
  1757. individual TCB subsets);   Security Testing;   Design Specification
  1758. and Verification correspondence  between  system policy and the
  1759. set of TCB subset models consistency of TCB interface with the
  1760.  
  1761.  
  1762. set of TCB subset DTLSs, and consistency ofTCB interface with
  1763. the set of TCB subset FTLSs;  Trusted Distribution;     Trusted
  1764. Facility Manual (also applies to individual TCB subsets);
  1765.  
  1766.  
  1767. Test Documentation; and   Design Documentation (except models,
  1768. DTLSs, FTLSs, and non-FTLS internals).
  1769. TC-6 DESIGN CHOICE
  1770.  
  1771. TC-6.1 OVERVIEW
  1772.  
  1773.  
  1774.  
  1775. This  section  examines  the  several  design choices available
  1776. for constructing systems in parts and the consequences of each
  1777.  when attempting to perform an evaluation by parts.  The  first
  1778. case described is that of a  TCB evaluated under the TCSEC  without
  1779. benefit of TCB  subset structuring.   This  case  is of  value
  1780. for several  reasons:  it serves  as a reference  point; it can
  1781.  be considered  the degenerate  case of subsetting; and  it  is
  1782.  always  an  option  to  evaluate  any TCB, regardless of  internal
  1783. structure, as a  monolith.  The second  and third  cases are 
  1784. presented in  terms of  a
  1785.  
  1786.  
  1787.          configuration    of    exactly    two    subsets;   the
  1788.  
  1789.  
  1790.           generalization  to   more  than  two  TCB   subsets
  1791.  is
  1792.  
  1793.  
  1794.           straightforward.   The   second  case  is  that   of
  1795.  a
  1796.  
  1797.  
  1798.           subsetted  architecture  that   exactly  satisfies 
  1799. the
  1800.  
  1801.  
  1802. conditions  for evaluation  by parts.   The third  case represents
  1803. a special case of  an altered TCB, one which is implemented using
  1804. trusted subjects.
  1805.  
  1806.  
  1807. Note that no evaluation using TCB subsets and evaluation by  parts
  1808. results in a  TCB subset receiving an evaluation rating.  Rather,
  1809.  the entire system, with its composite TCB, is  evaluated and
  1810. receives a rating.
  1811.  
  1812.  
  1813. However, evaluation  by parts is intended  to allow the
  1814.  
  1815.  
  1816. results of local analysis  of individual TCB subsets to be  distinguishable
  1817. and  separately referencable.   For further discussion of this
  1818.  topic, see Appendix B, item 10.
  1819. TC-6.2 A SINGLE TCB SUBSET
  1820.  
  1821.  
  1822.  
  1823. The  evaluation  of  a  TCB  consisting  of a single  TCB subset
  1824.  is equivalent  to a straightforward evaluation  against  the
  1825.  TCSEC.   The  conditions  for evaluation   by  parts   (Section
  1826.  TC-4.3)   reduce  to requirements found in the TCSEC itself.
  1827. TC-6.2.1 ANALYSIS OF THE CONDITIONS
  1828.  
  1829. TC-6.2.1.1    Condition    1: Candidate TCB Subsets
  1830.  
  1831.  
  1832.  
  1833. The TCB (hardware,  software, and firmware), as distinguished
  1834. from the rest of the computing system, must  be identified.  This
  1835.  is a basic  requirement for TCSEC evaluation.  Similarly,  the
  1836. subjects and objects within the system must  be identified.  The
  1837. requirement that no more than one  TCB subset mediate access to
  1838. any particular object  is satisfied, because there  is only one
  1839. TCB subset.
  1840. TC-6.2.1.2 Condition 2: Policy Allocation
  1841.  
  1842.  
  1843.  
  1844. The  policy P  enforced by  the TCB  (subset) must  be identified.
  1845.   The demonstration  that the  TCB (subset) enforces that policy
  1846.  will be a description of how  the  TCB  performs  access  mediation
  1847.  between the system's subjects and  objects according a system-level
  1848. description  of limitations   on access  (the technical policy
  1849.  P[i] of  the definition).   The tracing  of the policy to the
  1850. system design and behavior is part of the stated TCSEC requirements.
  1851.  
  1852.  
  1853. TC-6.2.1.3   Condition    3: Trusted Subjects Included
  1854.  
  1855.  
  1856. This  condition  is  satisfied  in  the  same manner  as  it 
  1857. is  in  evaluations  under  the  TCSEC.  Specifically,  the  TCB
  1858.  boundary  is  shown  to be the interface that is presented to
  1859. untrusted subjects.
  1860. TC-6.2.1.4 Condition 4: TCB Subset Structure
  1861.  
  1862.  
  1863.  
  1864. Satisfaction of this  condition (TC-4.3.4) is immediate, because
  1865. there is only one TCB subset. 
  1866. TC-6.2.1.5       Condition      5: Separate Subset-Domains
  1867.  
  1868.  
  1869.  
  1870.  
  1871. Satisfaction  of  the  separate subset-domain condition (TC-4.3.5)
  1872. is identical  to the C1 through A1 requirement that "the
  1873. TCB maintain a domain for its own execution that  protects it
  1874. from  external interference or tampering."  [8, p.  13 et
  1875. al.] 
  1876. TC-6.2.1.6   Condition   6: Support for RVM Arguments 
  1877.  
  1878.  
  1879.  
  1880. Satisfaction of this  condition (TC-4.3.6) is immediate, inasmuch
  1881. as there  are no less primitive TCB subsets  that  must  be  demonstrated
  1882.  to  satisfy  RVM requirements.
  1883. TC-6.2.2 EVALUATION S CONSEQUENCE
  1884.  
  1885.  
  1886.  
  1887. In this case, the  evaluation of the (single) TCB  subset proceeds
  1888.  exactly like  an evaluation under the  TCSEC.  Demonstration
  1889.   that the  candidate system meets  all the global  and local
  1890. requirements  (as  they apply  to  the  target  evaluation  class)
  1891. includes the consideration of each requirement as it applies system's
  1892. philosophy of protection, design, documentation, and implementation.
  1893.   The system must be shown  to   exhibit  the  properties  of
  1894.   a  reference validation mechanism, appropriate to the target
  1895. class.
  1896. TC-6.3 TWO TCB SUBSETS, MEETING THE CONDITIONS
  1897.  
  1898.  
  1899.  
  1900. This case  is of a  TCB that consists  of two candidate  TCB subsets,
  1901. A  and B, where  A is the  most primitive TCB subset.  That is,
  1902. B uses the abstractions provided  by  A  (the  objects,  in  particular)
  1903. as its resource  for the  construction and  exportation of its
  1904. own  abstractions.    B  also  uses   the  abstractions provided
  1905. by A for its  metadata (that is, internal data structures) that
  1906. make it  possible for B to instantiate its exported abstractions
  1907. as  well as keep records that enable it  to correctly enforce
  1908. its  stated policy.  In terms of the discussion of Section TC-4.3.4,
  1909. TCB subset B directly depends on TCB subset A.  It will be assumed
  1910. that TCB subset A  enforces mandatory and discretionary policies
  1911. on its objects and  that TCB subset B enforces a  discretionary
  1912.  policy  on  the  objects  it exports.  Additionally, all  trusted
  1913. subjects of A  are contained within A.  Thus, every subject  of
  1914. A (including all the active entities  that make up the logic 
  1915. of B) operates at  a single  sensitivity  level.   It will  further
  1916. be assumed  for  th  is  example  that  the mechanisms for domains
  1917. and thus for  subset-domains are independent of the mandatory
  1918.  and discretionary access  control policy enforcement mechanisms.
  1919. TC-6.3.1 ANALYSIS OF THE CONDITIONS
  1920.  
  1921. TC-6.3.1.1    Condition    1: Candidate    TCB subsets
  1922.  
  1923.  
  1924.  
  1925. The  TCB (hardware, software,  and firmware), as distinguished
  1926. from the rest of the computing system, must  be identified.  This
  1927.  is a basic  requirement for TCSEC evaluation.  Similarly,  the
  1928. subjects and objects within the system must be identified.
  1929.  
  1930.  
  1931. In this case, all the hardware, software, and firmware  that make
  1932.  up the  TCB must  be identified as being part of either TCB subset
  1933. A or TCB subset B.  The subjects  and  objects  mediated  by 
  1934. A  (call them the "A-subjects" and "A-objects"
  1935.  for this discussion) must be identified.  Similarly  the B-subjects
  1936. and B-objects must also be identified.
  1937.  
  1938.  
  1939. The   additional   requirement   in   Section TC-4.3.1 that "there
  1940. may not be any objects mediated by more than  one TCB subset"
  1941.  means that there  can be no B-object that is also an A-object.
  1942. TC-6.3.1.2 Condition 2: Policy Allocation
  1943.  
  1944.  
  1945.  
  1946. The policy  P enforced by the  whole TCB must be identified. 
  1947.  In addition, the policy  enforced by A (call  it  the  A-policy),
  1948.   stated  in  terms  of  the A-subjects  and  the  A-objects,
  1949.  must  be  identified.  Similarly,  the  B-policy,  stated   in
  1950.  terms  of  the B-subjects and the B-objects, must be identified.
  1951. TC-6.3.1.3    Condition   3: Trusted Subjects included
  1952.  
  1953.  
  1954.  
  1955. As  was stated  above, TCB  Subset A contains all  its own  trusted
  1956. subjects.   There may  be trusted subjects with respect to the
  1957.  policy of A, but all such subjects execute in the subset-domain
  1958. of A.
  1959. TC-6.3.1.4 Condition 4: TCB Subset Structure
  1960.  
  1961.  
  1962.  
  1963. Because B directly uses the A-objects and its logic is  embodied
  1964. in A-subjects, the  structure of the TCB  subsets  is  precisely
  1965.   "TCB  subset  A  is  more primitive than TCB subset B."
  1966.  This is a partial order.
  1967. TC-6.3.1.5       Condition      5: Separate Subset-Domains
  1968.  
  1969.  
  1970.  
  1971.  
  1972. Satisfaction  of  the  separate subset-domain condition  requires
  1973. that a  set of domains  provided by the   system  be   identified
  1974.  as   being  the  domains "occupied"  by  A  and  B.
  1975.   The  domain,  or  domains, occupied  by  A  is  exactly  the
  1976.  "domain  for its own execution" found in the TCSEC
  1977. requirements.  The domain or  domains  occupied  by  TCB  subset
  1978.  B  must  not be modifiable  by any code  or other system  entity
  1979. except possibly by TCB subset A.
  1980. TC-6.3.1.6   Condition   6: Support for RVM Arguments
  1981.  
  1982.  
  1983.  
  1984. Satisfying  the condition  for RVM  arguments requires demonstrating
  1985.  the plausibility of  being able to establish the three  requisite
  1986. properties of an RVM.  The  first  property  requires  that  no
  1987.  B-subject  be allowed  to  access  B-objects  without  those
  1988. accesses being mediated by TCB  subset B.  The tamper resistance
  1989. property requires that TCB subset  A provide a way that TCB subset
  1990. B can be  designed and implemented such that A-subjects  that
  1991.  are  not  part  of B's implementation cannot  tamper with  B's
  1992. policy-critical  code or data.  The  third  RVM  property  must
  1993.  be  satisfied  by  the individual TCB  subsets.  The degree to
  1994.  which each TCB subset must satisfy this  property is commensurate
  1995. with the evaluation class of the TCB.
  1996. TC-6.3.2 EVALUATION CONSEQUENCES
  1997.  
  1998.  
  1999.  
  2000. In this  case, the evaluation of  the two TCB subsets  requires
  2001.  that  each  meet  TCSEC requirements applicable to  each TCB
  2002. subset viewed  individually and that the two  TCB subsets combine
  2003. in a way  to meet all the TCSEC requirements stated for the target
  2004. class.
  2005.  
  2006.  
  2007. All local requirements are imposed on the two TCB subsets, A and
  2008. B, individually.  If each TCB subset can meet  the requirements
  2009. of the  target class, viewed as  if it  were a  separate TCB,
  2010.  the only  areas where additional  evaluation or  accreditation
  2011. work  might be required are those areas where  the sum of the
  2012. analysis of  the parts is not necessarily complete and convincing.
  2013.  Those areas  requiring additional work are exactly  the set 
  2014. of global  requirements described  in Section TC-5.3.2.
  2015.  
  2016.  
  2017.            Demonstrating that the candidate system meets the 
  2018. TCSEC requirements  (as they  apply to  the target evaluation
  2019.  class)  requires  that  both  A  and  B  be evaluated with respect
  2020. to the local  requirements of the target  class and that  the
  2021. composite TCB  be evaluated for global requirements.  In this
  2022. case, full testing of TCB subset  A against all the  requirements
  2023. (both local and  global)  simplifies the  task  of  demonstrating
  2024. satisfaction of the global requirements, both for B and for the
  2025. entire TCB.
  2026.  
  2027.  
  2028. Suppose, for  example, that TCB subset  A has been subjected 
  2029. to security testing appropriate  to the target  class  and  has
  2030.  been  shown  to  be adequately resistant  to  penetration  attacks.
  2031.   This  means that within  the confidence  level provided  by
  2032. the  testing requirement, no  A-subject can subvert  A's enforcement
  2033. of its policy.  In  this situation, every active entity in B is
  2034. an A-subject  and hence B can neither penetrate A nor be  induced
  2035. to do so by any  B-subject.  Thus, no further  testing of  A 
  2036. will  be required  to determine whether the entire TCB is resistant
  2037. to penetration; any additional  penetration  testing   can  be
  2038.  limited  to determining the ability of B to withstand assault.
  2039.  
  2040.  
  2041. Similarly, if A has  been searched for covert channels (as required
  2042. for its target class requirements), then no   further  search
  2043.  for  covert channels will be required, either  in the analysis
  2044. of B or  in the  overall  consideration  of the  entire TCB. 
  2045. Note  that if B  implements a mandatory  access control policy
  2046. (e.g., integrity), then it would be necessary to perform a covert
  2047. channel analysis  on B, but no further covert channel analysis
  2048. of A would be required.
  2049.  
  2050.  
  2051. The ability of users to determine the current sensitivity  level
  2052.  of  B-subjects  operating  on their behalf  will have  to be
  2053.  shown by  considering the TCB subsets  A and  B together. This
  2054. requirement  is satisfied immediately if  the argument relies
  2055. exclusively on A meeting the requirement.
  2056. TC-6.4   TWO TCB SUBSETS, NOT MEETING THE CONDITIONS
  2057.  
  2058.  
  2059.  
  2060. This case  also concerns a TCB  that consists of two candidate
  2061.  TCB subsets, C and D.  C  is the most primitive TCB subset. 
  2062. That is, D uses the abstractions provided  by  C  (the  objects,
  2063.  in  particular) as its resource  for the  construction and  exportation
  2064. of its own  abstractions.    D  also  uses   the  abstractions
  2065. provided by C for its  metadata (that is, internal data structures)
  2066. that make it  possible for D to instantiate its exported abstractions
  2067. as  well as keep records that enable it  to correctly enforce
  2068. its  stated policy.  In terms of the discussion of Section TC-4.3.4,
  2069. TCB subset D directly depends on TCB subset C.  Additionally,
  2070. D is trusted  with  respect  to  C.   That  is,  some of the C-subjects
  2071.  which  make  up  TCB  subset  D  execute as trusted processes
  2072. of C.  Here  also, as in the previous example, it is assumed 
  2073. that C implements mandatory and discretionary policies over  its
  2074. objects.  Further, the intent of D is to implement a discretionary
  2075. policy over the  objects it  exports.  However,  because D includes
  2076. subjects  which  are  trusted  relative  to  C's policy demonstration
  2077.  of the  full and  correct enforcement of the mandatory policy
  2078. requires analysis  of both C and D and is no longer localized
  2079. to TCB subset C.  It will be assumed  that the mechanisms  for
  2080. domains and  thus for subset-domains  are independent   of the
  2081.  mandatory and discretionary access control policy enforcement
  2082. mechanisms.
  2083.  
  2084.  
  2085. This case can be viewed  as a special case of a  previously  evaluated
  2086.  TCB  which  has been altered.  However,  the  alteration  takes
  2087.  the  form  of  a less primitive  subset  which  is  implemented,
  2088.  at least in part,  with   trusted  subjects  (i.e.,  some   of
  2089.  the C-subjects  are trusted  subjects which  execute in the subset-domain
  2090.  of D).   Although this  case may appear, intuitively,  to be
  2091.  different from  that of  arbitrary alteration of  a previously
  2092. evaluated TCB,  the example demonstrates that such an  approach
  2093. makes it impossible to perform an evaluation by parts.
  2094. TC-6.4.1 ANALYSIS OF THE CONDITIONS
  2095.  
  2096. TC-6.4.1.1    Condition    1:     Candidate    TCB Subsets
  2097.  
  2098.  
  2099.  
  2100.  
  2101. The  identification  of  the  TCB  (hardware, software, and firmware)
  2102. as  distinguished from the rest of  the computing  system  is
  2103.  a basic  requirement for TCSEC evaluation.   Likewise, the subjects
  2104.  and objects within the system must be identified.
  2105.  
  2106.  
  2107. In this case, all the hardware, software, and firmware  that make
  2108.  up the  TCB must  be identified as being part of either TCB subset
  2109. C or TCB subset D.  The C-subjects  and  C-objects  mediated 
  2110. by  C  have to be identified.   Similarly  the  D-subjects  and
  2111. D-objects must also be identified.
  2112.  
  2113.  
  2114. The   additional   requirement   in   Section TC-4.3.1 that "there
  2115. may not be any objects mediated by more  than  one  TCB  subset"
  2116.  means  there  can  be no D-object that is also a C-object.
  2117. TC-6.4.1.2 Condition 2: Policy Allocation
  2118.  
  2119.  
  2120.  
  2121. The policy  P enforced by the  whole TCB must be  identified.
  2122.   In  addition,  the  individual policy enforced by C (call it
  2123. the C-policy) must be identified  in terms of  the C-subjects
  2124. and the C-objects.  Similarly,  the  D-policy,  stated   in  terms
  2125.  of  theD-subjects and the D-objects,  must be stated.  In this
  2126. case, the C-policy will  include the strict enforcement of  a
  2127.  mandatory  access  control  policy  that  allows trusted subjects
  2128. to execute in the subset-domains which compose TCB subset D.
  2129. TC-6.4.1.3   Condition    3: Trusted Subjects 
  2130.  
  2131.  
  2132.  
  2133. Included This  condition is   not satisfied  because D includes
  2134.  at least  one  subject  that is  trusted with respect  to C.
  2135.   Hence a  subject that  is trusted with respect to the policy
  2136. of C is outside C, and evaluation by  parts  is  not  an  option.
  2137.   If  TCB  subset C had previously been  evaluated, then this
  2138. is  an example of an  altered TCB,  albeit  a  special case. 
  2139.  The change consists  of  the  addition  of  one  or  more  trusted
  2140. C-subjects  in D  whose effect   on the  behavior of  C cannot
  2141.  be predicted  a priori.   An assessment  of the impact  of  D
  2142.  on  the  behavior  of  C  cannot be made strictly by an examination
  2143.  of the trusted subjects and the definition  of C's interface.
  2144.  A  global assessment of C and D is required.
  2145. TC-6.4.1.4 Condition 4: TCB Subset Structure
  2146.  
  2147.  
  2148.  
  2149. Because D directly uses the C-objects and its logic is  embodied
  2150. in C-subjects, the  structure of the TCB  subsets  is  precisely
  2151.   "TCB  subset  C  is  more primitive than TCB subset D."
  2152.  This is a partial order.
  2153. TC-6.4.1.5       Condition      5: Separate Subset-Domains
  2154.  
  2155.  
  2156.  
  2157.  
  2158. Satisfying    the   separate    subset-domain condition  (TC-4.3.5)
  2159. requires  identifying the  set of system  domains   (likely  administered
  2160.  by   the  most primitive TCB subset C) as  the domains "occupied"
  2161. by C and  D.   The  domain,  or  domains,  occupied  by C is exactly
  2162. the "domain for its own execution" found in the TCSEC
  2163. requirements.  The domain  or domains occupied by TCB  subset
  2164. D  must not  be modifiable  by any  code or other system  entity
  2165. except possibly  by a part  of TCB subset C.
  2166. TC-6.4.1.6   Condition   6: Support for RVM Arguments
  2167.  
  2168.  
  2169.  
  2170. Satisfying  the condition  for RVM  arguments requires demonstrating
  2171.  the plausibility of  being able to establish the three  requisite
  2172. properties of an RVM.  The  first  property  requires  that  no
  2173.  B-subject  be allowed  to  access  B-objects  without  those
  2174. accesses being mediated by TCB  subset B.  The tamper resistance
  2175. property requires that TCB subset  A provide a way that TCB subset
  2176. B can be  designed and implemented such that  A-subjects  that
  2177.  are  not  part  of B's implementation cannot  tamper with  B's
  2178. policy-critical  code or data.  The  third  RVM  property  must
  2179.  be  satisfied  by  the individual TCB  subsets.  The degree to
  2180.  which each TCB subset must satisfy this  property is commensurate
  2181. with the evaluation class of the TCB.
  2182. TC-6.4.2 EVALUATION CONSEQUENCES
  2183.  
  2184.  
  2185.  
  2186. In   this   example,   the   conditions   for evaluation  by parts
  2187.  are not  satisfied and  thus, thef ull potential for savings
  2188. in evaluation effort cannot,  in general, be realized.  A  clear
  2189. option in such cases is to view  the system as a monolithic  TCB
  2190. and proceed accordingly.  However, because  this case represents
  2191. an example of an altered TCB, it admits of a wide spectrum of
  2192.  specific sub-cases.  Thus,  if the analysis  of the system  proceeds
  2193.  in  parallel  to  that  required  for evaluation  by parts  it
  2194.  may  be possible,  in special cases, to identify elements of
  2195. the analysis of the more primitive candidate TCB subset  which
  2196. can be successfully argued to be unaffected by the alterations.
  2197.  Some evaluation effort, often significant,  can be  saved, but
  2198.  unlike evaluation  by parts, how much can  only be estimated
  2199. by consideration of the implementation specifics.   For example,
  2200. in this specific  case,  the  local  analysis  of  TCB subset
  2201. C represents  a reasonable   candidate for  analysis that need
  2202. not be redone.
  2203. TC-6.5 SUMMARY
  2204.  
  2205.  
  2206.  
  2207. The  three cases  described above  illustrate the  effects of
  2208.  various TCB  subsetting situations  as they relate to the evaluation
  2209. requirements.  A  monolithic evaluation proceeds  exactly as described
  2210. in the TCSEC, with requirements being applied to the entire TCB.
  2211. When  all the   conditions for  evaluation by parts are satisfied,
  2212. considerable savings in evaluation effort  are realized.  The
  2213.  evaluation of a  new system configuration that includes exactly
  2214. the same TCB subset that was previously evaluated  (such as the
  2215. TCB subsets A and B in the Section  TC-6.3) is limited to (a)
  2216. local analysis of the individual TCB subsets (by reference to
  2217. earlier  analysis,  if  available)  and  (b)  a simpler global
  2218.  analysis, because each  TCB subset is  an exact analog of a TCB.
  2219.  
  2220.  
  2221. When the  conditions for evaluation  by parts are  not satisfied,
  2222. no  general statements can  be made about the factorability of
  2223.  analysis or the reusability of  previous analysis.   The extent
  2224.  to which  previous evaluation  evidence and  results remain 
  2225. valid can  be determined only  on a case-by-case  basis. 
  2226. PART 2 INTERPRETED REQUIREMENTS
  2227.  
  2228. IR-1 OVERVIEW AND CONTEXT
  2229.  
  2230.  
  2231.  
  2232. Part 2,  "INTERPRETED REQUIREMENTS," provides specific
  2233.  interpretations of  those TCSEC  requirements which are  deemed
  2234. to be either  DBMS-specific (or, more generally,   application-specific)
  2235.    or   particularly relevant  to DBMSs.   All  of  the requirements
  2236.  in the TCSEC apply in any case.
  2237.  
  2238.  
  2239. For   the   topics    included   below,   the interpretations
  2240.  provide  clarification  of  the  TCSEC requirements.   As  is
  2241.  the  case  for  the  TCSEC, the interpreted  requirements at
  2242.   any class  include those specified for that class in addition
  2243. to interpretations for  lower classes  that  have  not been  superseded
  2244. or altered.
  2245.  
  2246.  
  2247. Section IR-2  presents an overall  summary of the  TCSEC  requirements,
  2248.  as  interpreted  in the more detailed sections  that follow.
  2249.  Sections  IR-3 through IR-7  address  individual  requirements
  2250. interpretations for labels, audit, system architecture, design
  2251. specification and verification, and design documentation, respectively.
  2252.  The  format is an initial discussion  of  the  topic   in  general,
  2253.  followed  by specific requirements and interpretations that apply
  2254. to database   management  systems.    A  listing   of  the requirements
  2255.  and  interpretations  organized  by TCSEC class is presented
  2256. in Appendix A.
  2257. IR-2 SUMMARY OF THE INTERPRETATIONS
  2258.  
  2259.  
  2260.  
  2261. This      section      provides      specific interpretations
  2262.  of those  TCSEC requirements  that are particularly  relevant
  2263. for subsetted  architectures and evaluation by parts.  Its  organization
  2264. is derived from the  structure  of  the  TCSEC  requirements.
  2265.  For each relevant TCSEC requirement there is a discussion of
  2266. how that requirement is interpreted for a DBMS.
  2267. IR-2.1 SECURITY POLICY
  2268.  
  2269. IR-2.1.1 DISCRETIONARY ACCESS CONTROL
  2270.  
  2271.  
  2272.  
  2273. The  requirement   for  discretionary  access control is not changed
  2274. in  the context of this document and therefore applies as stated
  2275. in the TCSEC.
  2276. IR-2.1.2 OBJECT REUSE
  2277.  
  2278.  
  2279.  
  2280. The  requirement  for  object  reuse  is  not changed in  the
  2281. context of this  document and therefore applies as stated in the
  2282. TCSEC.
  2283. IR-2.1.3 LABELS
  2284.  
  2285.  
  2286.  
  2287. The  requirement  for  labels  is  treated in Section IR-3 of
  2288. this document.
  2289. IR-2.1.4 MANDATORY ACCESS CONTROL
  2290.  
  2291.  
  2292.  
  2293. The requirement for  mandatory access control is  not changed
  2294.  in the  context of  this document  and therefore  applies as
  2295.  stated in  the TCSEC.   However, there   are  several   subtle
  2296.  ramifications   of  this requirement of which a developer or
  2297. evaluator should be aware.  A brief discussion can  be found in
  2298. Appendix B, item 8, "Content-Dependent and Context-Dependent
  2299. Access Control."
  2300. IR-2.2 ACCOUNTABILITY
  2301.  
  2302. IR-2.2.1 IDENTIFICATION AND AUTHENTICATION
  2303.  
  2304.  
  2305.  
  2306. The   requirement   for   identification  and authentication 
  2307. is not changed  in the context  of this document and therefore
  2308. applies as stated in the TCSEC.
  2309. IR-2.2.2 AUDIT
  2310.  
  2311.  
  2312.  
  2313. The  requirement  for  audit  is  treated  in Section IR-4 of
  2314. this document.
  2315. IR-2.3 ASSURANCE
  2316.  
  2317. IR-2.3.1 OPERATIONAL ASSURANCE
  2318.  
  2319. IR-2.3.1.1 System Architecture
  2320.  
  2321.  
  2322.  
  2323. The  requirement for  system architecture  is treated in Section
  2324. IR-5 of this document.
  2325. IR-2.3.1.2 System Integrity
  2326.  
  2327.  
  2328.  
  2329. The requirement  for system integrity  is not changed in  the
  2330. context of this  document and therefore applies as stated in the
  2331. TCSEC.
  2332. IR-2.3.1.3 Covert Channel Analysis
  2333.  
  2334.  
  2335.  
  2336. The  requirement for covert  channel analysis is  not changed
  2337.  in the  context of  this document  and therefore applies as stated
  2338. in the TCSEC.
  2339. IR-2.3.1.4 Trusted Facility Management
  2340.  
  2341.  
  2342.  
  2343. The   requirement    for   trusted   facility management  is 
  2344. not  changed  in  the  context  of this document and therefore
  2345. applies as stated in the TCSEC.
  2346. IR-2.3.1.5 Trusted Recovery
  2347.  
  2348.  
  2349.  
  2350. The requirement  for trusted recovery  is not changed in  the
  2351. context of this  document and therefore applies as stated in the
  2352. TCSEC.
  2353. IR-2.3.2 LIFE CYCLE ASSURANCE
  2354.  
  2355. IR-2.3.2.1 Security Testing
  2356.  
  2357.  
  2358.  
  2359. The requirement  for security testing  is not changed in  the
  2360. context of this  document and therefore applies as stated in the
  2361. TCSEC. IR-2.3.2.2      Design     Specification      and Verification
  2362. The requirement for  design specification and verification  is
  2363.  treated  in   Section  IR-6  of  this document.
  2364. IR-2.3.2.3 Configuration Management
  2365.  
  2366.  
  2367.  
  2368. The requirement  for configuration management is  not changed
  2369.  in the  context of  this document  and therefore applies as stated
  2370. in the TCSEC.
  2371. IR-2.3.2.4 Trusted Distribution
  2372.  
  2373.  
  2374.  
  2375. The  requirement for trusted  distribution is not  changed  in
  2376.  the  context  of  this  document  and therefore applies as stated
  2377. in the TCSEC.
  2378. IR-2.4 DOCUMENTATION
  2379.  
  2380. IR-2.4.1 SECURITY FEATURES USER'S GUIDE
  2381.  
  2382.  
  2383.  
  2384. The  requirement  for   a  security  features user's  guide is
  2385.  not changed  in the  context of  this document and therefore
  2386. applies as stated in the TCSEC.
  2387. IR-2.4.2 TRUSTED FACILITY MANUAL
  2388.  
  2389.  
  2390.  
  2391. The requirement for a trusted facility manual is  not changed
  2392.  in the  context of  this document  and therefore applies as stated
  2393. in the TCSEC.
  2394. IR-2.4.3 TEST DOCUMENTATION
  2395.  
  2396.  
  2397.  
  2398. The requirement for test documentation is not changed in  the
  2399. context of this  document and therefore applies as stated in the
  2400. TCSEC.
  2401. IR-2.4.4 DESIGN DOCUMENTATION
  2402.  
  2403.  
  2404.  
  2405. The  requirement for design  documentation is treated in Section
  2406. IR-7 of this document.
  2407. IR-3 LABELS
  2408.  
  2409. IR-3.1 GENERAL DISCUSSION
  2410.  
  2411.  
  2412.  
  2413. The  labels  requirements  of  the  TCSEC are entirely  applicable
  2414.  to  database  management systems.  The  basic   difference  between
  2415.  the   TCSEC  labeling requirements  as they  apply to  operating
  2416. systems  and DBMSs involves which storage objects are labeled
  2417. rather than  how   the  labels  are  handled.    This  section
  2418. discusses  special considerations  in implementing  and evaluating
  2419.  labeling mechanisms in  database management systems.  Of particular
  2420. importance  is the selection of the storage objects that are to
  2421. be labeled.
  2422.  
  2423.  
  2424. Beginning at the B1 evaluation class, trusted database management
  2425.  systems are required  to associate labels  with all  storage
  2426. objects  under their control.  The  granularity  of  storage 
  2427. objects  to be protected shall be chosen by the DBMS designer.
  2428.  
  2429.  
  2430. Stored view definitions (that is, named query commands) that are
  2431. visible at  the TCB boundary must be stored in labeled objects.
  2432.  The TCB must mediate access both   to  the   view  definition
  2433.   and  to   the  view instantiation  (that  is,  the  set  of
  2434. labeled objects accessed as  the result of executing  the query
  2435. command contained in the view definition).
  2436.  
  2437.  
  2438. It has been proposed  in several designs that views be  used as
  2439. a mechanism to  implement context- or content-dependent labeling.
  2440.  The intuitive attractiveness of this approach  is undeniable,
  2441. but the implementation details must be  carefully worked out to
  2442. achieve a sound implementation.   A brief discussion of this 
  2443. topic  can  be  found  in  Appendix  B,  item  8, "Content-Dependent
  2444. and Context-Dependent Access Control." TCB designers and
  2445. evaluators may make distinctions between objects that are  explicitly
  2446. labeled or  implicitly labeled.  Such  distinctions are meaningful
  2447.  only within  the confines  of the  TCB; all storage objects are
  2448. explicitly  labeled from a point of view outside the TCB.   For
  2449. example, consider an object of one type  (e.g., table or file)
  2450. within  the TCB that "contains" many (reference  monitor)
  2451. objects of another type (e.g.,  tuples and records).  The  file
  2452. could have an explicit  label associated with it, and  some of
  2453. the records  could  have  explicit  labels  associated with them.
  2454.  Those records that  have no explicit label would be implicitly
  2455. labeled by the label of the file.
  2456.  
  2457.  
  2458. For database management  systems, the objects that store the base
  2459. data  of the database (e.g., files, records,  relations,  and
  2460.  tuples), as well as those objects that store the metadata  (e.g.,
  2461. directories, indices, schemas, data dictionaries,  discretionary
  2462. authorization  tables, recovery  logs, and transaction logs),
  2463.  must  be  labeled.   Objects  that  need not be labeled  include
  2464. internal  resources that  are not user visible (e.g., printer
  2465. daemon scratch files and resource allocation tables).  The requirement
  2466.  for importing data  (labeled and unlabeled) is  the same as in
  2467. the TCSEC.  For additional information, see Appendix B, item 9,
  2468. "Bulk Loading of a Database."
  2469. IR-3.2 SPECIFIC INTERPRETATIONS
  2470.  
  2471. CLASS (B1): LABELED SECURITY PROTECTION
  2472.  
  2473.  
  2474.  
  2475. There are no interpretations for this class.
  2476. CLASS (B2): STRUCTURED PROTECTION
  2477.  
  2478. Statement from TCSEC
  2479.  
  2480.  
  2481.  
  2482. Sensitivity  labels associated with  each ADP system resource
  2483. .  .  .  that is directly or indirectly accessible  by subjects
  2484.  external to  the TCB  shall be maintained by the TCB.
  2485. Interpretation
  2486.  
  2487.  
  2488.  
  2489. Internal TCB  variables that are  not visible to  untrusted subjects
  2490.  need not  be labeled,  provided that they are not  directly or
  2491. indirectly accessible by subjects external to the TCB.  However,
  2492. it is important to understand that such internal variables can
  2493. function as  covert signaling  channels when  untrusted subjects
  2494. are  able  to  detect  changes  in  these  variables by observing
  2495. system behavior.
  2496. CLASS (B3): SECURITY DOMAINS
  2497.  
  2498.  
  2499.  
  2500. There are no additional requirements.
  2501. CLASS (A1): VERIFIED DESIGN
  2502.  
  2503.  
  2504.  
  2505. There are no additional requirements.
  2506. IR-4 AUDIT
  2507.  
  2508. IR-4.1 GENERAL DISCUSSION
  2509.  
  2510.  
  2511.  
  2512. The audit requirements of  the TCSEC apply to database  management
  2513. systems.   This section  discusses special  considerations  in
  2514.  designing  and  evaluating audit mechanisms in database management
  2515. systems. The  TCB must  be capable  of maintaining  an audit trail
  2516.  of accesses and attempted  accesses to the objects  protected
  2517. by  the mandatory  and discretionary security   policies.   Two
  2518.    examples  are   given  to illustrate auditing techniques for
  2519. discretionary access control decisions.
  2520.  
  2521.  
  2522. Example 1.  Consider a DBMS TCB providing discretionary controls
  2523. on defined views of the database.  Because the named object presented
  2524. at the TCB interface is the view definition  (not the  records
  2525. instantiated  through the view), all that needs to be auditable
  2526. is the use of the view by any untrusted subject.
  2527.  
  2528.  
  2529. Example 2.Consider a DBMS TCB that enforces discretionary   access
  2530.  control   on  individual   data records.  When a user  enters
  2531. a query, the construction of a  response may involve  a search
  2532. over  many records that are not returned to  the user because
  2533. they did not satisfy the  query.  Records that do  satisfy the
  2534. query but to  which the user  does not have  access should be
  2535. auditable.  Records that do  not satisfy the query need not be
  2536.  auditable.  That is,  in the context  of audit, access  permission
  2537. to  the user  and satisfaction  of a query are to be kept separate.
  2538.  
  2539.  
  2540. There is no need to audit operations that are strictly internal
  2541. to the  TCB.  Separate security audit logs may be maintained by
  2542.  the operating system and the database   management   system.
  2543.    Likewise,   separate identifications for the same  user may
  2544. be maintained by the  operating  system   and  the  database 
  2545. management system.  The correlation of  separate audit logs may
  2546. be done either at  the time they are generated  or at some later
  2547. time.
  2548.  
  2549.  
  2550. The  emphasis of  the audit  criterion is  to provide individual
  2551. accountability for actions by users.  This  goal is  not the 
  2552. same as  that for  a backup and recovery log.  There is no requirement
  2553. to integrate the audit  log with the  backup and recovery  log,
  2554. although such an integrated log is not prohibited.  At the designer's
  2555. discretion,  there may be a selectable  capability to  reduce
  2556. the  number of  audit records generated  in response to queries
  2557.  that involve many access control decisions.
  2558. IR-4.2 SPECIFIC INTERPRETATIONS CLASS (C2): CONTROLLED ACCESS
  2559. PROTECTION
  2560.  
  2561. Statement from TCSEC
  2562.  
  2563.  
  2564.  
  2565. The  TCB shall  be able  to create, maintain, and protect  from
  2566. modification .  .  .   an audit trail of accesses to the objects
  2567. it protects.
  2568. Interpretation
  2569.  
  2570.  
  2571.  
  2572. Auditable events, in the case of a database management   system,
  2573.  are  the   individual  operations initiated   by   untrusted
  2574.    users   (e.g.,   updates, retrievals,  and inserts),  not just
  2575.  the invocation of the database management system.  The auditing
  2576. mechanism shall  have  the  capability  of  auditing all mediated
  2577. accesses  which are  visible to  users.  That  is, each discretionary
  2578. access  control policy decision  shall be auditable.  Individual
  2579. operations  performed by trusted software, if totally transparent
  2580.  to the user, need not be auditable.  If the total audit requirement
  2581. is met by the  use  of  more  than  one  audit  log,  a method
  2582. of correlation must be available.
  2583. CLASS (B1): LABELED SECURITY PROTECTION
  2584.  
  2585. Statement from TCSEC
  2586.  
  2587.  
  2588.  
  2589. The  TCB shall  be able  to create, maintain, and protect  from
  2590. modification .  .  .   an audit trail of accesses to the objects
  2591. it protects.
  2592. Interpretation
  2593.  
  2594.  
  2595.  
  2596. Auditable events,  in the case of  a database management   system,
  2597.  are  the   individual  operations initiated   by   untrusted
  2598.    users   (e.g.,   updates, retrievals,  and inserts),  not just
  2599.  the invocation of the database management system.  The auditing
  2600. mechanism shall  have  the  capability  of  auditing all mediated
  2601. accesses which are visible to  the user.  That is, each discretionary
  2602. access  control policy decision  and each mandatory  access  control
  2603.  policy  decision  shall  be auditable.  Individual operations
  2604.  performed by trusted software, if totally transparent  to the
  2605. user, need not be auditable.  If the total audit requirement is
  2606. met by the  use  of  more  than  one  audit  log,  a method of
  2607. correlation must be available.
  2608. CLASS (B2): STRUCTURED PROTECTION
  2609.  
  2610.  
  2611.  
  2612. There is no interpretation for the additional requirements.
  2613. CLASS (B3): SECURITY DOMAINS
  2614.  
  2615.  
  2616.  
  2617. There is no interpretation for the additional requirements.
  2618. CLASS (A1): VERIFIED DESIGN
  2619.  
  2620.  
  2621.  
  2622. There are no additional requirements.
  2623. IR-5 SYSTEM ARCHITECTURE
  2624.  
  2625. IR-5.1GENERAL DISCUSSION
  2626.  
  2627.  
  2628.  
  2629. The  system architecture requirements  of the TCSEC apply to database
  2630. management systems.  The interpretations provided are a duplication
  2631.  of  the  general  interpreted requirements that  apply  to  an
  2632.  evaluation by parts.  They are included because DBMS evaluations
  2633. often involve multiple TCB subsets.
  2634. IR-5.2 SPECIFIC INTERPRETATIONS
  2635.  
  2636. CLASS    (C1):      DISCRETIONARY    SECURITY PROTECTION
  2637.  
  2638. Statement from TCSEC
  2639.  
  2640.  
  2641.  
  2642. The TCB  shall maintain a domain  for its own execution that 
  2643. protects it from  external interference or tampering.
  2644. Interpretation
  2645.  
  2646.  
  2647.  
  2648. If  the  TCB  is  composed  of  multiple  TCB subsets, this requirement
  2649. applies to each TCB subset.
  2650. CLASS (C2): CONTROLLED ACCESS PROTECTION
  2651.  
  2652.  
  2653.  
  2654. There is no interpretation for the additional requirements.
  2655. CLASS (B1): LABELED SECURITY PROTECTION
  2656.  
  2657.  
  2658.  
  2659. There is no interpretation for the additional requirements.
  2660. CLASS (B2): STRUCTURED PROTECTION
  2661.  
  2662. Statement from TCSEC
  2663.  
  2664.  
  2665.  
  2666. The  user  interface  to  the  TCB  shall  be completely  defined
  2667.   and  all  elements  of   the  TCB identified.
  2668. Interpretation
  2669.  
  2670.  
  2671.  
  2672. If the  TCB is composed of  multiple subsets, this requirement
  2673.  applies to the interface  between the TCB subsets as well as
  2674.  the user interface to the whole TCB.
  2675. Statement from TCSEC
  2676.  
  2677.  
  2678.  
  2679. It  shall  make  effective  use  of available hardware   to  
  2680. separate   those   elements   that  are protection-critical from
  2681. those that are not.
  2682. Interpretation
  2683.  
  2684.  
  2685.  
  2686. If the  TCB is composed of  multiple subsets, each TCB subset
  2687. must make use of facilities provided to it by  more primitive
  2688. TCB subsets, such  as support for execution domains  and for distinct
  2689. address  spaces, to achieve the required separation.
  2690. CLASS (B3): SECURITY DOMAINS
  2691.  
  2692.  
  2693.  
  2694. There is no interpretation for the additional requirements.
  2695. CLASS (A1): VERIFIED DESIGN
  2696.  
  2697.  
  2698.  
  2699. There are no additional requirements.
  2700. IR-6 DESIGN SPECIFICATION AND VERIFICATION 
  2701.  
  2702. IR-6.1 GENERAL DISCUSSION
  2703.  
  2704.  
  2705.  
  2706. The  design  specification  and  verification requirements of
  2707. the TCSEC, with   the   related documentation requirements, apply
  2708. to database management systems.  The interpretations provided
  2709. include a duplication  of general  interpreted requirements  that
  2710. apply  to an  evaluation by  parts.  They  are included because
  2711. of  the likelihood that a  DBMS evaluation will involve multiple
  2712. TCB subsets.
  2713.  
  2714.  
  2715. In   the  database    context,  the   set  of candidates  for
  2716. "subject"  and "object"  can be  larger than
  2717. normally encountered in trusted operating systems.  Where a database
  2718. system builds on an underlying trusted operating  system, for
  2719.  example, the  set of  candidate subjects  for the  two  TCB 
  2720. subsets includes  both the active  entities created  by the  operating
  2721. system  and those active entities created by the trusted portion
  2722. of the DBMS.  The set of  candidates for objects is large.
  2723.  
  2724.  
  2725. Examples are files, segments, buffers, structures, pages, relations,
  2726. tables, tuples, rows, columns, elements, entities, relationships,
  2727. procedures, metadata, system tables, query trees, query plans,
  2728. locking mechanisms,  rollback mechanisms, indices, recovery and
  2729. backupmechanisms, precalculated operations (such  as  joins),
  2730. view definitions, view instantiations, constraints, authorization
  2731. tables, data dictionary tables, and audit logs.
  2732.  
  2733.  
  2734. The requirements in the TCSEC for showing how the  various   representations
  2735.  of  the   system  being evaluated fit together can  be represented
  2736. as in Figure IR-1.  For monolithic TCBs,  the policy must be stated;
  2737. the model  must be developed, maintained,  and shown to be sufficient
  2738. to enforce the policy; and the DTLS (FTLS for  A1) must  be constructed
  2739.  and shown  to correspond both to the model and to the TCB implementation.
  2740.  These steps allow  a chain of  reasoning to proceed  from the
  2741. stated  policy  to  the  assertion  that  the system in question
  2742. actually enforces the policy.
  2743.  
  2744.  
  2745. In  the  case  of  multiple  TCB subsets, the intent is the same.
  2746.  Tracing all policy requirements to
  2747.  
  2748.  
  2749. the actual system implementation  must be possible, and vice versa.
  2750.  The current dilemma is that the theory and techniques for subdividing
  2751. a model into a set of models (or a top  level specification into
  2752. a set  of top level specifications) have not yet been established.
  2753.  Likewise neither theory or techniques have been established for
  2754. composing a set  of models or top level specifications  into 
  2755. a  unified  model  or  top  level specification.   The absence
  2756.  of rigorous  methods does not preclude an evaluation using a
  2757. subsetted TCB.
  2758.  
  2759.  
  2760. The process of mapping policy to implementation is  possible for
  2761. each TCB  subset, using the same techniques required for a monolithic
  2762. TCB.  For subsetted TCBs, designers and evaluators must explicitly
  2763. show  how the policy, model and specifications  for  each  TCB
  2764.  subset  meet  the TCSEC requirements.  In addition, convincing
  2765. informal arguments must  be given to show how  the collection
  2766. of TCB subsets  enforces the policy of  the composite TCB.
  2767.  
  2768.  
  2769. Because morerigorous composition methods are unavailable, convincing
  2770. informal arguments are appropriate for evaluation of  TCBs up
  2771. to and including Class A1.
  2772.  
  2773.  
  2774. The TCSEC requirements concerning the mapping from  policy to
  2775.  implementation for  a TCB  composed of multiple TCB subsets raise
  2776. these crucial topics:
  2777.  
  2778.  
  2779. The  allocation  of  policy  to  the  TCB subsets, 
  2780.  
  2781.  
  2782. The relation  of the  models for  the TCB subsets to the overall
  2783. system policy, and 
  2784.  
  2785.  
  2786. The   relation    of   the   top   level specification for each
  2787. TCB subset to the entire system.
  2788.  
  2789.  
  2790. Allocation of policy to  the TCB subsets is a precise division
  2791.  of the policy for  the entire system, as  addressed  in  the
  2792.  policy  allocation condition of Section TC-4.3.
  2793.  
  2794.  
  2795. The  second topic,  above, requires  that the policy for each
  2796. TCB subset be stated.  Additionally, it is  required  that  there
  2797.  be  an  informal  convincing argument that  the collection of
  2798. models  represents the policy enforced by the entire system.
  2799.  
  2800.  
  2801. The third topic, the way  in which the set of top level specifications
  2802. for the individual TCB subsets describes the  composite TCB interface
  2803. with  respect to exceptions, errors and effects, is treated in
  2804. a similar fashion.   The top  level specifications  for each 
  2805. TCB  subset  must  meet  the   requirement.   There is, in addition,
  2806.  a requirement   for an  informal, convincing description of how
  2807. the  set of top level specifications describes the TCB interface
  2808. with respect to exceptions, errors,  and effects.   At the  A1
  2809. level,  there is  no requirement  for  additional  formal  specification
  2810.  or formal  proofs  beyond  the  specification  and  proofs specific
  2811. to the individual TCB subsets.
  2812.  
  2813.  
  2814. Rather than formally  composing the policies, models,  and  specifications
  2815.  and  performing  a single monolithic evaluation, a series of
  2816. separate evaluations may  be  performed  (one  for  each  TCB
  2817.  subset).  The evaluations are  then tied together by  presentation
  2818. of sufficient  informal  arguments   that  the  individual policies
  2819. collectively represent  the policy enforced by the   entire  system,
  2820.    that  the   individual  models collectively  represent the
  2821.  system's policy,  that the individual specifications represent
  2822.  the TCB interface, and  that  the  source  code  of  each  TCB
  2823.  subset  is consistent with its top level specification.
  2824.  
  2825.  
  2826. Note  that satisfactory  completion of  these requirements  is
  2827. logically equivalent  to demonstrating that a "unified"
  2828. model for the entire TCB is consistent with  the  policy  enforced
  2829.   by  the  system,  that  a "unified"  top level  specification
  2830. corresponds  to the model,    and   that     the   "unified"
  2831.    top   level specification(s) corresponds to the source code.
  2832.  These interpreted  requirements,  which   do  not  mandate  a
  2833. "unified"  top  level  specification,  are  technically
  2834. achievable   interpretations   of   the  policy-tracing requirements
  2835. in the case of multiple TCB subsets.
  2836. IR-6.2 SPECIFIC INTERPRETATIONS
  2837.  
  2838. CLASS (B1): LABELED SECURITY PROTECTION
  2839.  
  2840. Statement from TCSEC
  2841.  
  2842.  
  2843.  
  2844. An informal  or formal model of  the security
  2845.  
  2846.  
  2847. policy  supported by the  TCB shall be  maintained over the life
  2848. cycle of the ADP system and demonstrated to be consistent with
  2849. its axioms.
  2850. Interpretation
  2851.  
  2852.  
  2853.  
  2854. If  the  TCB  is  composed  of  multiple  TCB
  2855.  
  2856.  
  2857. subsets,  this  requirement  applies  to  the  security policy
  2858. of  each TCB subset.  An  informal argument that the  set  of
  2859.  policy  models  represents  the "security policy  supported
  2860.  by  the  [composite]  TCB"  must  be provided.
  2861. CLASS (B2): STRUCTURED PROTECTION
  2862.  
  2863. Statement from TCSEC
  2864.  
  2865.  
  2866.  
  2867. A  formal   model  of  the   security  policy supported by the
  2868. TCB shall  be maintained over the life cycle  of  the  ADP   system
  2869.  and  demonstrated  to  be consistent with its axioms.
  2870. Interpretation
  2871.  
  2872.  
  2873.  
  2874. If  the  TCB  is  composed  of  multiple  TCB
  2875.  
  2876.  
  2877. subsets,  this  requirement  applies  to  the  security policy
  2878. of  each TCB subset.  An  informal argument that the  set  of
  2879.  policy  models  represents  the "security policy  supported
  2880.  by  the  [composite]  TCB"  must  be provided.
  2881. Statement from TCSEC
  2882.  
  2883.  
  2884.  
  2885. A descriptive  top-level specification (DTLS) of  the TCB  shall
  2886.  be  maintained that  completely and accurately  describes the
  2887.  TCB in  terms of exceptions, error messages, and effects.
  2888. Interpretation
  2889.  
  2890.  
  2891.  
  2892. If  the  TCB  is  composed  of  multiple  TCB
  2893.  
  2894.  
  2895. subsets, this  requirement applies to the  DTLS of each TCB subset.
  2896.  An informal argument that the set of DTLSs accurately describes
  2897. the TCB must be provided.  If there is a multifaceted policy (e.g.,
  2898. both mandatory  access  control   and  discretionary  access control
  2899. policies) in a  particular TCB subset, then all facets must be
  2900.  represented in the DTLS and  in the TCB subset's model.
  2901. Statement from TCSEC
  2902.  
  2903.  
  2904.  
  2905. The   descriptive   top-level   specification (DTLS) shall be
  2906. shown to  be an accurate description of the TCB interface.
  2907. Interpretation
  2908.  
  2909.  
  2910.  
  2911. If the  TCB is composed of  multiple subsets, this requirement
  2912.  applies to the interface  between the TCB  subsets as well  as
  2913. to the  user interface of  the composite  TCB.  The   TCB interface
  2914.  description shall include an explanation of how to describe the
  2915. total TCB accurately, in  the context of the  multiple TCB subset
  2916. DTLSs.
  2917. CLASS (B3): SECURITY DOMAINS
  2918.  
  2919. Statement from TCSEC
  2920.  
  2921.  
  2922.  
  2923. A convincing argument shall be given that the DTLS is consistent
  2924. with the model.
  2925. Interpretation
  2926.  
  2927.  
  2928.  
  2929. If  the  TCB  is  composed  of  multiple  TCB subsets,  this requirement
  2930.   applies to  individual TCB subsets.  Enforcement of all  policies
  2931. must be shown to occur  in  all  situations  (e.g.,  state  transitions)
  2932. required by  the formal security policy  model.  In the case 
  2933. of  a  discretionary  access  control policy, the presence of
  2934. the access  control check at all identified state transitions
  2935. is the total  of what is required for demonstrating  consistency
  2936.  between  the  DTLS  and the model.  This may be verified  by
  2937. inspection of the DTLS (that  is, by  visually checking  that
  2938. exception checks required by  the model are  present in the  DTLS).
  2939.  For the mandatory  access control policy, the  DTLS must be shown
  2940.  by a convincing  argument to be  consistent with the model.
  2941. CLASS (A1): VERIFIED DESIGN
  2942.  
  2943. Statement from TCSEC
  2944.  
  2945.  
  2946.  
  2947. A  formal top-level  specification (FTLS)  of the TCB  shall be
  2948. maintained that  accurately describes the  TCB in  terms of  exceptions,
  2949. error  messages, and effects.
  2950. Interpretation
  2951.  
  2952.  
  2953.  
  2954. If  the  TCB  is  composed  of  multiple  TCB subsets, this  requirement
  2955. applies to the  FTLS of each TCB subset.  An informal argument
  2956. that the set of FTLSs accurately describes the TCB must be provided.
  2957.  
  2958.  
  2959. If there is a multifaceted policy (e.g., both mandatory  access
  2960.  control   and  discretionary  access control policies) in a 
  2961. particular TCB subset, then all facets must be  represented in
  2962. the FTLS and  in the TCB subset's model.
  2963. Statement from TCSEC
  2964.  
  2965.  
  2966.  
  2967. The  FTLS shall  be shown  to be  an accurate description of the
  2968. TCB interface.
  2969. Interpretation
  2970.  
  2971.  
  2972.  
  2973. If the  TCB is composed of  multiple subsets, this requirement
  2974.  applies to the interface  between the TCB  subsets as well  as
  2975. to the  user interface of  the composite  TCB.  The   TCB interface
  2976.  description shall include an explanation of how to describe the
  2977. total TCB accurately, in  the context of the  multiple TCB subset
  2978. DTLSs.
  2979. Statement from TCSEC
  2980.  
  2981.  
  2982.  
  2983. .  .  .  a combination of formal and informal techniques  shall
  2984. be  used to   show that  the FTLS  is consistent with the model.
  2985. Interpretation
  2986.  
  2987.  
  2988.  
  2989. If  the  TCB  is  composed  of  multiple  TCB
  2990.  
  2991.  
  2992. subsets,  this requirement   applies to  individual TCB subsets.
  2993.  Enforcement of all  policies must be shown to occur  in  all
  2994.  situations  (e.g.,  state  transitions) required  by the  formal
  2995. security  policy model  at the required  occasions.  In  the case
  2996.  of a  discretionary access  control  policy,  the  presence 
  2997. of  the access control  check at  all identified  state transitions
  2998. is the  total  of  what   is  required  for  demonstrating consistency
  2999. between  the FTLS and the  model.  This may be  verified by  inspection
  3000. of  the FTLS  (that is,  by visually checking that exception checks
  3001. required by the model  are present  in  the  FTLS).  For  the
  3002. mandatory access  control policy,  the FTLS  must be  shown by
  3003.  a combination  of formal  and informal  techniques to  be consistent
  3004. with the model.
  3005. IR-7 DESIGN DOCUMENTATION
  3006.  
  3007. IR-7.1 GENERAL DISCUSSION
  3008.  
  3009. The  design documentation requirement  of the
  3010.  
  3011.  
  3012.  
  3013. TCSEC applies to database management systems.
  3014.  
  3015.  
  3016. The    interpretations    provided    are   a duplication  of
  3017.  the  general  interpreted requirements that  apply  to  an  evaluation
  3018.  by  parts.   They  are included   because  DBMS   evaluations
  3019.  often   involve multiple TCB subsets.
  3020. IR-7.2 SPECIFIC INTERPRETATIONS
  3021.  
  3022. CLASS (C1): DISCRETIONARY SECURITY PROTECTION
  3023.  
  3024. Statement from TCSEC
  3025.  
  3026.  
  3027.  
  3028. If the  TCB is composed of  distinct modules, the   interfaces
  3029.  between    these  modules   shall  be described.
  3030. Interpretation
  3031.  
  3032.  
  3033.  
  3034. If the  TCB is composed of  multiple subsets, this  requirement
  3035. applies  to each  TCB subset  and the interfaces between TCB subsets.
  3036. CLASS (C2): CONTROLLED ACCESS PROTECTION
  3037.  
  3038.  
  3039.  
  3040. There are no additional requirements.
  3041. CLASS (B1): LABELED SECURITY PROTECTIONStatement from TCSEC
  3042.  
  3043.  
  3044.  
  3045.  
  3046. The specific TCB  protection mechanisms shall be  identified and
  3047.  an explanation  given to  show that they satisfy the model.
  3048. Interpretation
  3049.  
  3050.  
  3051.  
  3052. If the  TCB is composed of  multiple subsets, this requirement
  3053.  applies to each TCB  subset and shall include  the protection
  3054.   mechanisms which  support the conditions  for  TCB   subset
  3055.  structure  and  separate subset-domains.
  3056. CLASS (B2): STRUCTURED PROTECTION
  3057.  
  3058. Statement from TCSEC
  3059.  
  3060.  
  3061.  
  3062. The interfaces between  the TCB modules shall be described.
  3063. Interpretation
  3064.  
  3065.  
  3066.  
  3067. If the  TCB is composed of  multiple subsets, this  requirement
  3068. applies  to each  TCB subset  and the interfaces between different
  3069. TCB subsets.
  3070. Statement from TCSEC
  3071.  
  3072.  
  3073.  
  3074. The   descriptive   top-level   specification (DTLS) shall be
  3075. shown to  be an accurate description of the TCB interface.
  3076. Interpretation
  3077.  
  3078.  
  3079.  
  3080. If the  TCB is composed of  multiple subsets, this requirement
  3081.  applies to the interface  between the TCB  subsets as well  as
  3082. to the  user interface of  the composite  TCB.  The   TCB interface
  3083.  description shall include an explanation of how to describe the
  3084. total TCB accurately, in  the context of the  multiple TCB subset
  3085. DTLSs.
  3086. Statement from TCSEC
  3087.  
  3088.  
  3089.  
  3090. Documentation  shall  describe  how  the  TCB implements  the
  3091. reference  monitor concept  and give an explanation  of why it
  3092.  is tamper resistant,  cannot be bypassed, and is correctly implemented.
  3093. Interpretation
  3094.  
  3095.  
  3096.  
  3097. If  the  TCB  is  composed  of  multiple  TCB subsets,  this requirement
  3098.  is interpreted  to apply to each TCB subset with  respect to
  3099. its specific technical policy.   In  addition,  there  must  be
  3100.  documented an informal  argument that  the cooperative  action
  3101. of the TCB  subsets  makes  the  TCB  itself tamper resistant,
  3102. non-bypassable, and correct.
  3103. Statement from TCSEC
  3104.  
  3105.  
  3106.  
  3107. Documentation shall  describe how the  TCB is structured to  facilitate
  3108. testing and to  enforce least privilege.
  3109. Interpretation
  3110.  
  3111.  
  3112.  
  3113. If the  TCB is composed of  multiple subsets, this requirement
  3114. is interpreted  to apply to individual TCB subsets as well as
  3115. to the overall TCB.
  3116. CLASS (B3): SECURITY DOMAINS
  3117.  
  3118. Statement from TCSEC
  3119.  
  3120.  
  3121.  
  3122. The  TCB implementation  shall be  informally shown to be consistent
  3123. with the DTLS.
  3124. Interpretation
  3125.  
  3126.  
  3127.  
  3128. If  the  TCB  is  composed  of  multiple  TCB subsets,  this requirement
  3129.  is interpreted  to apply to individual TCB subsets.
  3130. CLASS (A1): VERIFIED DESIGN
  3131.  
  3132. Statement from TCSEC
  3133.  
  3134.  
  3135.  
  3136. The  TCB implementation  shall be  informally shown to be consistent
  3137. with the FTLS.
  3138. Interpretation
  3139.  
  3140.  
  3141.  
  3142. If  the  TCB  is  composed  of  multiple  TCB subsets,  this requirement
  3143.  is interpreted  to apply to individual       TCB        subsets.
  3144.       
  3145. SUMMARY OF THE INTERPRETATIONS BY CLASS Appendix A
  3146.  
  3147.  
  3148.  
  3149. This  section is  a presentation  of all  the interpreted requirements
  3150. organized  by TCSEC class.  It includes all the requirements which
  3151. are either relevant to subsetted  architectures or are  DBMS-specific.
  3152.  Any TCSEC  requirements  not  explicitly  identified herein apply
  3153. as stated in the TCSEC.
  3154. CLASS (C1): DISCRETIONARY SECURITY PROTECTION
  3155.  
  3156. C1-1 SECURITY POLICY
  3157.  
  3158. C1-1.1 DISCRETIONARY ACCESS CONTROL
  3159.  
  3160.  
  3161.  
  3162. The discretionary access control requirements apply as stated
  3163. in the  TCSEC to every TCB subset whose policy  includes discretionary
  3164.   access control  of its subjects to  its objects.  Any TCB  subset
  3165. whose policy does not  include such discretionary access  control
  3166. is exempt from this requirement.
  3167. C1-2 ACCOUNTABILITY
  3168.  
  3169. C1-2.1 IDENTIFICATION AND AUTHENTICATION
  3170.  
  3171.  
  3172.  
  3173. This  requirement applies   as stated  in the TCSEC to the entire
  3174. TCB.  The cooperative action of the TCB  subsets  making  up 
  3175.  the  TCB  must  satisfy  the requirement.
  3176.  
  3177.  
  3178. If  the TCB is  composed of TCB  subsets, one TCB subset  may
  3179. either rely  on a mechanism  in another TCB subset to provide
  3180. identification and authentication services  or provide  the services
  3181.  directly.  Each TCB subset   may  maintain   its  own   identification
  3182.  and authentication  data or  one central  repository may be maintained.
  3183.  If each TCB subset  has its own data, then the  information 
  3184. for  each  individual  user  must  be consistent among all subsets.
  3185. C1-3 ASSURANCE
  3186.  
  3187. C1-3.1 OPERATIONAL ASSURANCE
  3188.  
  3189. C1-3.1.1 SYSTEM ARCHITECTURE
  3190.  
  3191.  
  3192.  
  3193. This requirement applies as stated  in the TCSEC   to  every 
  3194.  TCB  subset,   with  the  following additional interpretations.
  3195.  
  3196.  
  3197. The  TCB must  provide domains  for execution that are allocated
  3198. to and used by TCB subsets according to the subset-domain condition
  3199. for evaluation by parts.  A  most primitive TCB  subset must provide
  3200.  domains forexecution.  A  less primitive TCB subset  must make
  3201. use of domains provided by a  more primitive TCB subset.  A less
  3202. primitive TCB subset may provide further execution domains but
  3203. is not required to do so.
  3204. Statement from TCSEC
  3205.  
  3206. The TCB  shall maintain a domain  for its own execution that
  3207.  protects it from  external interference or tampering. 
  3208.  
  3209. Interpretation
  3210.  
  3211.  
  3212.  
  3213. If  the  TCB  is  composed  of  multiple  TCB subsets, this requirement
  3214. applies to each TCB subset.
  3215. C1-3.1.2 SYSTEM INTEGRITY
  3216.  
  3217.  
  3218.  
  3219. This  requirement applies   as stated  in the TCSEC  to every
  3220.  TCB subset  that includes  hardware or firmware.   Any  TCB 
  3221. subset   that  does  not  include hardware or firmware is exempt
  3222. from this requirement.
  3223. C1-3.2 LIFE CYCLE ASSURANCE
  3224.  
  3225. C1-3.2.1 SECURITY TESTING
  3226.  
  3227.  
  3228.  
  3229. This  requirement applies   as stated  in the TCSEC  to the  entire
  3230. TCB.   If a  TCB consists  of TCB subsets meeting the conditions
  3231. for evaluation by parts, the satisfaction of the requirements
  3232. by each TCB subset satisfies   the  requirement    for  the  
  3233. entire  TCB.  Otherwise, security  testing of the entire  TCB
  3234. must be performed   (even  if   the  results   of  testing  the
  3235. individual TCB subsets were available).
  3236. C1-4 DOCUMENTATION
  3237.  
  3238. C1-4.1  SECURITY FEATURES USER'S GUIDE
  3239.  
  3240.  
  3241.  
  3242. This  requirement applies   as stated  in the TCSEC to every TCB
  3243. subset  in the TCB.  This collection of guides must include descriptions
  3244. of every TCB subset in  the  TCB  and  explicit  cross-references
  3245.  to other related  user's   guides  to  other  TCB   subsets,
  3246.  as required.  In addition, interactions between mechanisms within
  3247. different TCB subsets must be clearly described.
  3248. C1-4.2 TRUSTED FACILITY MANUAL
  3249.  
  3250.  
  3251.  
  3252. This  requirement applies   as stated  in the TCSEC to the TCB
  3253. and to every TCB subset in the TCB. This  requirement can  be
  3254. met  by providing a set of manuals, one  for each distinct (non-replicated)
  3255. TCB  subset.  Each  manual shall  address the functions and privileges
  3256. to be  controlled for the associated TCB subset.   Additionally,
  3257.   it  must  clearly   show  the interfaces to, and the interaction
  3258. with, more primitive TCB  subsets.  The  manual  for  each TCB
  3259.  subset shall identify  the  functions  and  privileges  of  the
  3260.  TCB subsets  on which  the associated  TCB subset  depends. 
  3261. Also, the TCB subset's  manual shall identify which, if any, 
  3262. configuration options  of the  more primitive TCB subsets are
  3263. to be used for the composite TCB to operate securely.
  3264.  
  3265.  
  3266. Any   pre-defined   roles   supported  (e.g., database  administrator)
  3267.  by  the  TCB  subset shall be addressed.
  3268.  
  3269.  
  3270. The means for correlating multiple audit logs and synonymous 
  3271. user identifications from  multiple TCB subsets (if such exist)
  3272. shall also be addressed.  The  trusted facility  manual shall
  3273.  describe the  composite TCB so  that the interactions  among
  3274. the TCB subsets  can be readily determined.   Other manuals may
  3275. be  referenced in this determination.   The manuals that address
  3276.  the distinct modules  of the TCB  and the generation of  the
  3277. TCB need  to be integrated  with the other trusted facility manuals
  3278.  only to the extent that they are affected by the  use and operation
  3279. (versus the development) of the composite TCB.
  3280. C1-4.3 TEST DOCUMENTATION
  3281.  
  3282.  
  3283.  
  3284. This requirement applies as stated  in the TCSEC to the composite
  3285. TCB.
  3286. C1-4.4 DESIGN DOCUMENTATION
  3287.  
  3288.  
  3289.  
  3290. This requirement applies as stated  in the TCSEC to the composite
  3291. TCB.
  3292. Statement from TCSEC
  3293.  
  3294.  
  3295.  
  3296. If the  TCB is composed of  distinct modules, the   interfaces
  3297.  between    these  modules   shall  be described.
  3298. Interpretation
  3299.  
  3300.  
  3301.  
  3302. If the  TCB is composed of  multiple subsets, this  requirement
  3303. applies  to each  TCB subset  and the interfaces between TCB subsets.
  3304. CLASS (C2): CONTROLLED ACCESS PROTECTION
  3305.  
  3306. C2-1 SECURITY POLICY
  3307.  
  3308. C2-1.1 DISCRETIONARY ACCESS CONTROL
  3309.  
  3310.  
  3311.  
  3312. The discretionary access control requirements apply as stated
  3313. in the  TCSEC to every TCB subset whose policy  includes discretionary
  3314.   access control  of its subjects to  its objects.  Any TCB  subset
  3315. whose policy does not  include such discretionary access  control
  3316. is exempt from this requirement.
  3317. C2-1.2 OBJECT REUSE
  3318.  
  3319.  
  3320.  
  3321. This  requirement applies  as  stated  in the  TCSEC to every
  3322. TCB subset in the TCB.
  3323. C2-2 ACCOUNTABILITY
  3324.  
  3325. C2-2.1 IDENTIFICATION AND AUTHENTICATION
  3326.  
  3327.  
  3328.  
  3329. This  requirement applies   as stated  in the TCSEC to the entire
  3330. TCB.  The cooperative action of the TCB  subsets  making  up 
  3331.  the  TCB  must  satisfy  the requirement.
  3332.  
  3333.  
  3334. If  the TCB is  composed of TCB  subsets, one TCB subset  may
  3335. either rely  on a mechanism  in another TCB subset to provide
  3336. identification and authentication services  or provide  the services
  3337.  directly.  Each TCB subset   may  maintain   its  own   identification
  3338.  and authentication  data or  one central  repository may be maintained.
  3339.  If each TCB subset  has its own data, then the  information 
  3340. for  each  individual  user  must  be consistent among all subsets.
  3341. C2-2.2 AUDIT
  3342.  
  3343.  
  3344.  
  3345. This  requirement applies   as stated  in the TCSEC to the entire
  3346. TCB.  The cooperative action of the TCB  subsets  making  up 
  3347.  the  TCB  must  satisfy  the requirement.
  3348.  
  3349.  
  3350. A  TCB subset  may maintain  its own security audit  log,  distinct
  3351.  from  that  maintained  by  more primitive TCB subsets, or it
  3352. may use an audit interface provided by  a different TCB subset
  3353.  allowing the audit records  it  generates  to  be  processed
  3354.  by  that TCB subset.
  3355.  
  3356.  
  3357. If  the   TCB  subset  uses   different  user identifications
  3358. than a more primitive TCB subset, there shall be  a means to associate
  3359.  audit records generated by different  TCB subsets for the  same
  3360. individual with each other,  either at the  time they are  generated
  3361. or later.
  3362. Statement from TCSEC
  3363.  
  3364.  
  3365.  
  3366. The  TCB shall  be able  to create, maintain, and protect  from
  3367. modification .  .  .   an audit trail of access to the objects
  3368. it protects.
  3369. Interpretation
  3370.  
  3371.  
  3372.  
  3373. Auditable events,  in the case of  a database management system,
  3374. are the individual  operations initiated by users (e.g.,   updates,
  3375. retrievals,  and inserts),  not just  the invocation of the database
  3376. management system.  The auditing mechanism shall  have  the  capability
  3377.  of  auditing all mediated accesses  which are  visible to  users.
  3378.  That  is, each discretionary access  control policy decision
  3379.  shall be auditable.  Individual operations  performed by trusted
  3380. software, if totally transparent  to the user, need not be auditable.
  3381.  If the total audit requirement is met by the  use  of  more 
  3382. than  one  audit  log,  a method of correlation must be available.
  3383. C2-3 ASSURANCE
  3384.  
  3385. C2-3.1 OPERATIONAL ASSURANCE
  3386.  
  3387. C2-3.1.1 SYSTEM ARCHITECTURE
  3388.  
  3389.  
  3390.  
  3391. This  requirement applies   as stated  in the TCSEC   to  every
  3392.   TCB  subset,   with  the  following additional interpretations.
  3393.  The  TCB must  provide domains  for execution that are allocated
  3394. to and used by TCB subsets according to the subset-domain condition
  3395. for evaluation by parts.  A  most primitive TCB  subset must provide
  3396.  domains for execution.  A  less primitive TCB subset  must make
  3397. use of domains provided by a  more primitive TCB subset.  A less
  3398. primitive TCB subset may provide further execution domains but
  3399. is not required to do so.
  3400. Statement from TCSEC
  3401.  
  3402.  
  3403.  
  3404. The TCB  shall maintain a domain  for its own execution that 
  3405. protects it from  external interference or tampering.
  3406. Interpretation
  3407.  
  3408.  
  3409.  
  3410. If  the  TCB  is  composed  of  multiple  TCB subsets, this requirement
  3411. applies to each TCB subset.
  3412. C2-3.1.2 SYSTEM INTEGRITY
  3413.  
  3414.  
  3415.  
  3416. This  requirement applies   as stated  in the TCSEC  to every
  3417.  TCB subset  that includes  hardware or firmware.   Any  TCB 
  3418. subset   that  does  not  include hardware or firmware is exempt
  3419. from this requirement.
  3420. C2-3.2 LIFE CYCLE ASSURANCE
  3421.  
  3422. C2-3.2.1 SECURITY TESTING
  3423.  
  3424.  
  3425.  
  3426. This  requirement applies   as stated  in the TCSEC  to the  entire
  3427. TCB.   If a  TCB consists  of TCB subsets meeting the conditions
  3428. for evaluation by parts, the satisfaction of the requirements
  3429. by each TCB subset satisfies   the  requirement    for  the  
  3430. entire  TCB.  Otherwise, security  testing of the entire  TCB
  3431. must be performed   (even  if   the  results   of  testing  the
  3432. individual TCB subsets were available).
  3433. C2-4 DOCUMENTATION
  3434.  
  3435. C2-4.1 SECURITY FEATURES USER'S GUIDE
  3436.  
  3437.  
  3438.  
  3439. This  requirement applies   as stated  in the TCSEC to every TCB
  3440. subset  in the TCB.  This collection of guides must include descriptions
  3441. of every TCB subset in  the  TCB  and  explicit  cross-references
  3442.  to other related  user's   guides  to  other  TCB   subsets,
  3443.  as required.  In addition, interactions between mechanisms within
  3444. different TCB subsets must be clearly described.
  3445. C2-4.2 TRUSTED FACILITY MANUAL
  3446.  
  3447.  
  3448.  
  3449. This  requirement applies   as stated  in the TCSEC to the TCB
  3450. and to every TCB subset in the TCB. This  requirement can  be
  3451. met  by providing a set of manuals, one  for each distinct (non-replicated)
  3452. TCB  subset.  Each  manual shall  address the functions and privileges
  3453. to be  controlled for the associated TCB subset.   Additionally,
  3454.   it  must  clearly   show  the interfaces to, and the interaction
  3455. with, more primitive TCB  subsets.  The  manual  for  each TCB
  3456.  subset shall identify  the  functions  and  privileges  of  the
  3457.  TCB subsets  on which  the associated  TCB subset  depends. 
  3458. Also, the TCB subset's  manual shall identify which, if any, 
  3459. configuration options  of the  more primitive TCB subsets are
  3460. to be used for the composite TCB to operate securely.
  3461.  
  3462.  
  3463. Any   pre-defined   roles   supported  (e.g., database  administrator)
  3464.  by  the  TCB  subset shall be addressed.
  3465.  
  3466.  
  3467. The means for correlating multiple audit logs and synonymous 
  3468. user identifications from  multiple TCB subsets (if such exist)
  3469. shall also be addressed.
  3470.  
  3471.  
  3472. The  trusted facility  manual shall  describe the  composite TCB
  3473. so  that the interactions  among the TCB subsets  can be readily
  3474. determined.   Other manuals may be  referenced in this determination.
  3475.   The manuals that address  the distinct modules  of the TCB 
  3476. and the generation of  the TCB need  to be integrated  with the
  3477. other trusted facility manuals  only to the extent that they are
  3478. affected by the  use and operation (versus the development) of
  3479. the composite TCB.
  3480. C2-4.3 TEST DOCUMENTATION
  3481.  
  3482.  
  3483.  
  3484. This  requirement applies   as stated  in the TCSEC to the composite
  3485. TCB.
  3486. C2-4.4 DESIGN DOCUMENTATION
  3487.  
  3488.  
  3489.  
  3490. This  requirement applies   as stated  in the TCSEC to the composite
  3491. TCB.
  3492. Statement from TCSEC
  3493.  
  3494.  
  3495.  
  3496. If the  TCB is composed of  distinct modules, the interface between
  3497. these modules shall be described.
  3498. Interpretation
  3499.  
  3500.  
  3501.  
  3502. If the  TCB is composed of  multiple subsets, this  requirement
  3503. applies  to each  TCB subset  and the interfaces between TCB subsets.
  3504. CLASS (B1): LABELED SECURITY PROTECTION SECURITY POLICY
  3505.  
  3506. B1-1 SECURITY POLICY
  3507.  
  3508. B1-1.1 DISCRETIONARY ACCESS CONTROL
  3509.  
  3510.  
  3511.  
  3512. The discretionary access control requirements apply as stated
  3513. in the  TCSEC to every TCB subset whose policy  includes discretionary
  3514.   access control  of its subjects to  its objects.  Any TCB  subset
  3515. whose policy does not  include such discretionary access  control
  3516. is exempt from this requirement.
  3517. B1-1.2 OBJECT REUSE
  3518.  
  3519.  
  3520.  
  3521. This  requirement applies   as stated  in the TCSEC to every TCB
  3522. subset in the TCB.
  3523. B1-1.3 LABELS
  3524.  
  3525.  
  3526.  
  3527. This  requirement applies   as stated  in the TCSEC  to  every
  3528.  TCB   subset  whose  policy  includes mandatory  access  control
  3529.  of   its  subjects  to  its objects.  Any TCB subset  whose policy
  3530. does not include such  mandatory  access  control  is  exempt
  3531.  from this requirement.
  3532. B1-1.3.1 LABEL INTEGRITY
  3533.  
  3534.  
  3535.  
  3536. This  requirement applies   as stated  in the TCSEC  to  every
  3537.  TCB   subset  whose  policy  includes mandatory  access  control
  3538.  of   its  subjects  to  its objects.  Any TCB subset  whose policy
  3539. does not include such  mandatory  access  control  is  exempt
  3540.  from this requirement.
  3541. B1-1.3.2 EXPORTATION OF LABELED INFORMATION
  3542.  
  3543.  
  3544.  
  3545. This  requirement applies   as stated  in the TCSEC  to  every
  3546.  TCB   subset  whose  policy  includes mandatory  access  control
  3547.  of   its  subjects  to  its objects.  Any TCB subset  whose policy
  3548. does not include such  mandatory  access  control  is  exempt
  3549.  from this requirement.
  3550. B1-1.4 MANDATORY ACCESS CONTROL
  3551.  
  3552.  
  3553.  
  3554. This  requirement applies   as stated  in the TCSEC  to  every
  3555.  TCB   subset  whose  policy  includes mandatory  access  control
  3556.  of   its  subjects  to  its objects.  Any TCB subset  whose policy
  3557. does not include such  mandatory  access  control  is  exempt
  3558.  from this requirement.
  3559. B1-2 ACCOUNTABILITY
  3560.  
  3561. B1-2.1 IDENTIFICATION AND AUTHENTICATION
  3562.  
  3563.  
  3564.  
  3565. This  requirement applies   as stated  in the TCSEC to the entire
  3566. TCB.  The cooperative action of the TCB  subsets  making  up 
  3567.  the  TCB  must  satisfy  the requirement.  If  the TCB is  composed
  3568. of TCB  subsets, one TCB subset  may either rely  on a mechanism
  3569.  in another TCB subset to provide identification and authentication
  3570. services or provide  the services directly.  Similarly, that TCB
  3571. subset may rely on a mechanism in another more primitive TCB subset
  3572. to  ensure that the security level  of subjects external to the
  3573.  TCB that may be created to act on  behalf of the individual user
  3574.  are dominated by the clearance and authorization of that user.
  3575.  Each TCB subset   may  maintain   its  own   identification 
  3576. and authentication  data or  one central  repository may be maintained.
  3577.  If each TCB subset  has its own data, then the  information 
  3578. for  each  individual  user  must  be consistent among all subsets.
  3579. B1-2.2 AUDIT
  3580.  
  3581.  
  3582.  
  3583. This  requirement applies   as stated  in the TCSEC to the entire
  3584. TCB.  The cooperative action of the TCB  subsets  making  up 
  3585.  the  TCB  must  satisfy  the requirement.
  3586.  
  3587.  
  3588. A  TCB subset  may maintain  its own security audit  log,  distinct
  3589.  from  that  maintained  by  more primitive TCB subsets, or it
  3590. may use an audit interface provided by  a different TCB subset
  3591.  allowing the audit records  it  generates  to  be  processed
  3592.  by  that TCB subset.
  3593.  
  3594.  
  3595. If  the   TCB  subset  uses   different  user identifications
  3596. than a more primitive TCB subset, there shall be  a means to associate
  3597.  audit records generated by different  TCB subsets for the  same
  3598. individual with each other,  either at the  time they are  generated
  3599. or later.
  3600. Statement from TCSEC
  3601.  
  3602.  
  3603.  
  3604. The  TCB shall  be able  to create, maintain, and protect  from
  3605. modification .  .  .   an audit trail of access to the objects
  3606. it protects.
  3607. Interpretation
  3608.  
  3609.  
  3610.  
  3611. Auditable events,  in the case of  a database management system,
  3612. are the individual  operations initiated by  untrusted  users
  3613. (e.g.,   updates, retrievals,  and inserts),  not just  the invocation
  3614. of the database management system.  The auditing mechanism shall
  3615.  have  the  capability  of  auditing all mediated accesses  which
  3616. are  visible to  users.  That  is, each discretionary access 
  3617. control policy decision  shall be auditable.  Individual operations
  3618.  performed by trusted software, if totally transparent  to the
  3619. user, need not be auditable.  If the total audit requirement is
  3620. met by the  use  of  more  than  one  audit  log,  a method of
  3621. correlation must be available.
  3622. Statement from TCSEC
  3623.  
  3624.  
  3625.  
  3626. The  TCB shall  be able  to create, maintain, and protect  from
  3627. modification .  .  .   an audit trail of accesses to the objects
  3628. it protects.
  3629. Interpretation
  3630.  
  3631.  
  3632.  
  3633. Auditable events,  in the case of  a database management system,
  3634. are the individual  operations initiated by  untrusted users (e.g.,
  3635. updates, retrievals,  and inserts),  not just  the invocation
  3636. of the database management system.  The auditing mechanism shall
  3637.  have  the  capability  of  auditing all mediated accesses which
  3638. are visible to  the user.  That is, each discretionary access
  3639.  control policy decision  and each mandatory  access  control
  3640.  policy  decision  shall  be auditable.  Individual operations
  3641.  performed by trusted software, if totally transparent  to the
  3642. user, need not be auditable.  If the total audit requirement is
  3643. met by the  use  of  more  than  one  audit  log,  a method of
  3644. correlation must be available.
  3645. B1-3 ASSURANCE
  3646.  
  3647. B1-3.1 OPERATIONAL ASSURANCE
  3648.  
  3649. B1-3.1.1 SYSTEM ARCHITECTURE
  3650.  
  3651.  
  3652.  
  3653. This  requirement applies   as stated  in the TCSEC   to  every
  3654.   TCB  subset,   with  the  following additional interpretations.
  3655.  The  TCB must  provide domains  for execution that are allocated
  3656. to and used by TCB subsets according to the subset-domain condition
  3657. for evaluation by parts.  A  most primitive TCB  subset must provide
  3658.  domains for execution.  A  less primitive TCB subset  must make
  3659. use of domains provided by a  more primitive TCB subset.  A less
  3660. primitive TCB subset may provide further execution domains but
  3661. is not required to do so.
  3662.  
  3663.  
  3664. Similarly,  the  TCB  must  provide  distinct address  spaces
  3665.   for  untrusted  processes.    A  most primitive  TCB  subset
  3666.  must  provide  distinct address spaces for  its subjects.  A
  3667. less  primitive TCB subset must make use of the distinct address
  3668. space provided by a  more primitive  TCB  subset.   A less  primitive
  3669. TCB subset may  provide more fine-grained  distinct address spaces,
  3670. but is not required to do so.
  3671. Statement from TCSEC
  3672.  
  3673.  
  3674.  
  3675. The TCB  shall maintain a domain  for its own execution that 
  3676. protects it from  external interference or tampering.
  3677. Interpretation
  3678.  
  3679.  
  3680.  
  3681. If  the  TCB  is  composed  of  multiple  TCB subsets, this requirement
  3682. applies to each TCB subset.
  3683. B1-3.1.2 SYSTEM INTEGRITY
  3684.  
  3685.  
  3686.  
  3687. This  requirement applies   as stated  in the TCSEC  to every
  3688.  TCB subset  that includes  hardware or firmware.   Any  TCB 
  3689. subset   that  does  not  include hardware or firmware is exempt
  3690. from this requirement.
  3691. B1-3.2 LIFE CYCLE ASSURANCE
  3692.  
  3693. B1-3.2.1 SECURITY TESTING
  3694.  
  3695.  
  3696.  
  3697. This  requirement applies   as stated  in the TCSEC  to the  entire
  3698. TCB.   If a  TCB consists  of TCB subsets meeting the conditions
  3699. for evaluation by parts, the satisfaction of the requirements
  3700. by each TCB subset satisfies   the  requirement    for  the  
  3701. entire  TCB.  Otherwise, security  testing of the entire  TCB
  3702. must be performed   (even  if   the  results   of  testing  the
  3703. individual TCB subsets were available).
  3704. B1-3.2.2 DESIGN SPECIFICATION AND VERIFICATION
  3705.  
  3706.  
  3707.  
  3708. This  requirement applies   as stated  in the TCSEC to every TCB
  3709.  subset, with the following specific additional interpretations.
  3710.  
  3711.  
  3712. It  must be   demonstrated that  the security policy enforced
  3713. by the  composite TCB is represented by the collection of policy
  3714.  models for the individual TCB subsets.
  3715. Statement from TCSEC
  3716.  
  3717.  
  3718.  
  3719. An informal  or formal model of  the security policy  supported
  3720. by the  TCB shall be  maintained over the life cycle of the ADP
  3721. system and demonstrated to be consistent with its axioms.
  3722. Interpretation
  3723.  
  3724.  
  3725.  
  3726. If  the  TCB  is  composed  of  multiple  TCB subsets,  this 
  3727. requirement  applies  to  the  security policy of  each TCB subset.
  3728.  An  informal argument that the  set  of  policy  models  represents
  3729.  the "security policy  supported  by  the  [composite]  TCB"
  3730.  must  be provided.
  3731. B1-4 DOCUMENTATION
  3732.  
  3733. B1-4.1 SECURITY FEATURES USER'S GUIDE
  3734.  
  3735.  
  3736.  
  3737. This  requirement applies   as stated  in the TCSEC to every TCB
  3738. subset  in the TCB.  This collection of guides must include descriptions
  3739. of every TCB subset in  the  TCB  and  explicit  cross-references
  3740.  to other  related  user's   guides  to  other  TCB   subsets,
  3741.  as required.  In addition, interactions between mechanisms within
  3742. different TCB subsets must be clearly described.
  3743. B1-4.2 TRUSTED FACILITY MANUAL
  3744.  
  3745.  
  3746.  
  3747. This  requirement applies   as stated  in the TCSEC to the TCB
  3748. and to every TCB subset in the TCB. This  requirement can  be
  3749. met  by providing a set of manuals, one  for each distinct (non-replicated)
  3750. TCB  subset.  Each  manual shall  address the functions and privileges
  3751. to be  controlled for the associated TCB subset.   Additionally,
  3752.   it  must  clearly   show  the interfaces to, and the interaction
  3753. with, more primitive TCB  subsets.  The  manual  for  each TCB
  3754.  subset shall identify  the  functions  and  privileges  of  the
  3755.  TCB subsets  on which  the associated  TCB subset  depends. 
  3756. Also, the TCB subset's  manual shall identify which, if any, 
  3757. configuration options  of the  more primitive TCB subsets are
  3758. to be used for the composite TCB to operate securely.
  3759.  
  3760.  
  3761. Any   pre-defined   roles   supported  (e.g., database  administrator)
  3762.  by  the  TCB  subset shall be addressed.
  3763.  
  3764.  
  3765. The means for correlating multiple audit logs and synonymous 
  3766. user identifications from  multiple TCB subsets (if such exist)
  3767. shall also be addressed.
  3768.  
  3769.  
  3770. The  trusted facility  manual shall  describe the  composite TCB
  3771. so  that the interactions  among the TCB subsets  can be readily
  3772. determined.   Other manuals may be  referenced in this determination.
  3773.   The manuals that address  the distinct modules  of the TCB 
  3774. and the generation of  the TCB need  to be integrated  with the
  3775. other trusted facility manuals  only to the extent that they are
  3776. affected by the  use and operation (versus the development) of
  3777. the composite TCB.
  3778. B1-4.3 TEST DOCUMENTATION
  3779.  
  3780.  
  3781.  
  3782. This requirement applies as stated  in the TCSEC to the composite
  3783. TCB.
  3784. B1-4.4 DESIGN DOCUMENTATION
  3785.  
  3786.  
  3787.  
  3788. This  requirement applies   as stated  in the TCSEC to the composite
  3789. TCB, with the following specific additional interpretation:
  3790.  
  3791.  
  3792. Requirements  concerning   models  and  DTLSs apply to individual
  3793. TCB subsets.
  3794. Statement from TCSEC
  3795.  
  3796.  
  3797.  
  3798. If the  TCB is composed of  distinct modules, the interface between
  3799. these modules shall be described.
  3800. Interpretation
  3801.  
  3802.  
  3803.  
  3804. If the  TCB is composed of  multiple subsets, this  requirement
  3805. applies  to each  TCB subset  and the interfaces between TCB subsets.
  3806. Statement from TCSEC
  3807.  
  3808.  
  3809.  
  3810. The specific TCB  protection mechanisms shall be  identified and
  3811.  an explanation  given to  show that they satisfy the model.
  3812. Interpretation
  3813.  
  3814.  
  3815.  
  3816. If the  TCB is composed of  multiple subsets, this requirement
  3817.  applies to each TCB  subset and shall include the protection
  3818. mechanisms which support the conditions  for  TCB subset structure
  3819. and separatesubset-domains.
  3820. CLASS (B2): STRUCTURED PROTECTION
  3821.  
  3822. B2-1 SECURITY POLICY
  3823.  
  3824. B2-1.1 DISCRETIONARY ACCESS CONTROL
  3825.  
  3826.  
  3827.  
  3828. The discretionary access control requirements apply as stated
  3829. in the  TCSEC to every TCB subset whose policy  includes discretionary
  3830.   access control  of its subjects to  its objects.  Any TCB  subset
  3831. whose policy does not  include such discretionary access  control
  3832. is exempt from this requirement.
  3833. B2-1.2 OBJECT REUSE
  3834.  
  3835.  
  3836.  
  3837. This  requirement applies  as  stated  in the  TCSEC to every
  3838. TCB subset in the TCB.
  3839. B2-1.3 LABELS
  3840.  
  3841.  
  3842.  
  3843. This  requirement applies   as stated  in the TCSEC  to  every
  3844.  TCB   subset  whose  policy  includes mandatory  access  control
  3845.  of   its  subjects  to  its objects.  Any TCB subset  whose policy
  3846. does not include such  mandatory  access  control  is  exempt
  3847.  from this requirement.
  3848. Statement from TCSEC
  3849.  
  3850.  
  3851.  
  3852. Sensitivity  labels associated with  each ADP system resource
  3853. .  .  .  that is directly or indirectly accessible  by subjects
  3854.  external to  the TCB  shall be maintained by the TCB
  3855. Interpretation
  3856.  
  3857.  
  3858.  
  3859. Internal TCB  variables that are  not visible to  untrusted subjects
  3860.  need not  be labeled,  provided that they are not  directly or
  3861. indirectly accessible by subjects external to the TCB.  However,
  3862. it is important to understand that such internal variables can
  3863. function as  covert signaling  channels when  untrusted subjects
  3864. are  able  to  detect  changes  in  these  variables by observing
  3865. system behavior.
  3866. B2-1.3.1 LABEL INTEGRITY
  3867.  
  3868.  
  3869.  
  3870. This  requirement applies   as stated  in the TCSEC  to  every
  3871.  TCB   subset  whose  policy  includes mandatory  access  control
  3872.  of   its  subjects  to  its objects.  Any TCB subset  whose policy
  3873. does not include such  mandatory  access  control  is  exempt
  3874.  from this requirement.
  3875. B2-1.3.2 EXPORTATION OF LABELED INFORMATION
  3876.  
  3877.  
  3878.  
  3879. This  requirement applies   as stated  in the TCSEC  to  every
  3880.  TCB   subset  whose  policy  includes mandatory  access  control
  3881.  of   its  subjects  to  its objects.  Any TCB subset  whose policy
  3882. does not include such  mandatory  access  control  is  exempt
  3883.  from this requirement.
  3884. B2-1.3.3 SUBJECT SENSITIVITY LABELS
  3885.  
  3886.  
  3887.  
  3888. This  requirement applies   as stated  in the TCSEC to the entire
  3889. TCB.  The cooperative action of the TCB  subsets  making  up 
  3890.  the  TCB  must  satisfy  the requirement.
  3891. B2-1.3.4 DEVICE LABELS
  3892.  
  3893.  
  3894.  
  3895. This  requirement applies   as stated  in the TCSEC  to  every
  3896.  TCB   subset  whose  policy  includes mandatory access control
  3897. of its subjects to its objects and has attached physical  or virtual
  3898. devices.  Any TCB subset  whose policy  does not  include such
  3899.  mandatory access control  or has no attached  physical or virtual
  3900. devices   is  exempt   from  this   requirement.   This requirement
  3901. can be satisifed  by the cooperative action of more than one TCB
  3902. subset.
  3903. B2-1.4 MANDATORY ACCESS CONTROL
  3904.  
  3905.  
  3906.  
  3907. This  requirement applies   as stated  in the TCSEC  to  every
  3908.  TCB   subset  whose  policy  includes mandatory  access  control
  3909.  of   its  subjects  to  its objects.  Any TCB subset  whose policy
  3910. does not include such  mandatory  access  control  is  exempt
  3911.  from this requirement.
  3912. B2-2 ACCOUNTABILITY
  3913.  
  3914. B2-2.1 IDENTIFICATION AND AUTHENTICATION
  3915.  
  3916.  
  3917.  
  3918. This  requirement applies   as stated  in the TCSEC to the entire
  3919. TCB.  The cooperative action of the TCB  subsets  making  up 
  3920.  the  TCB  must  satisfy  the requirement.
  3921.  
  3922.  
  3923. If  the TCB is  composed of TCB  subsets, one TCB subset  may
  3924. either rely  on a mechanism  in another TCB subset to provide
  3925. identification and authentication services or provide  the services
  3926. directly.  Similarly, that TCB subset may rely on a mechanism
  3927. in another more primitive TCB subset to  ensure that the security
  3928. level of subjects external to the  TCB that may be created to
  3929. act on  behalf of the individual user  are dominated by the clearance
  3930. and authorization of that user.  Each TCB subset   may  maintain
  3931.   its  own   identification  and authentication  data or  one
  3932. central  repository may be maintained.  If each TCB subset  has
  3933. its own data, then the  information  for  each  individual  user
  3934.  must  be consistent among all subsets.
  3935. B2-2.1.1 TRUSTED PATH
  3936.  
  3937.  
  3938.  
  3939. This  requirement applies   as stated  in the TCSEC to the entire
  3940. TCB.  The cooperative action of the TCB  subsets  making  up 
  3941.  the  TCB  must  satisfy  the requirement.  When  TCB subsets
  3942.  are used,  the requirement for  trusted  path  at  levels  B2
  3943.  and  above  remains applicable  to the  entire TCB.   The implementation
  3944. of trusted path could be localized in a single TCB subset.  Alternatively,
  3945. it could be implemented in more than one  TCB  subset if   the
  3946. separate  implementations together comply with the system security
  3947. policy.
  3948. B2-2.2 AUDIT
  3949.  
  3950.  
  3951.  
  3952. This  requirement applies   as stated  in the TCSEC to the entire
  3953. TCB.  The cooperative action of the TCB  subsets  making  up 
  3954.  the  TCB  must  satisfy  the requirement.
  3955.  
  3956.  
  3957. A  TCB subset  may maintain  its own security audit  log,  distinct
  3958.  from  that  maintained  by  more primitive TCB subsets, or it
  3959. may use an audit interface provided by  a different TCB subset
  3960.  allowing the audit records  it  generates  to  be  processed
  3961.  by  that TCB subset.
  3962.  
  3963.  
  3964. If  the   TCB  subset  uses   different  user identifications
  3965. than a more primitive TCB subset, there shall be  a means to associate
  3966.  audit records generated by different  TCB subsets for the  same
  3967. individual with each other,  either at the  time they are  generated
  3968. or later.
  3969.  
  3970.  
  3971. Any TCB subset wherein  events may occur that require  notification
  3972.  of  the  security  administrator shall be  able to:  
  3973.  
  3974.  
  3975. (1) detect the  occurrence of these events, 
  3976.  
  3977.  
  3978. (2)  initiate the recording of  the audit trail entry,  and  
  3979.  
  3980.  
  3981. (3)  initiate the notification of  the security  administrator.
  3982.   
  3983.  
  3984.  
  3985. The   ability  to  terminate events (2) and (3) above  may be
  3986. provided either in the TCB  subset within  which they   occur,
  3987. or  in the  TCB subset(s)  where actions  that lead  to the  event
  3988. were initiated.
  3989.  
  3990.  
  3991. The monitoring  and notification requirements may require  cooperation
  3992. between multiple  distinct TCB subsets  or  multiple  instantiations
  3993.  of  the same TCB subset.   For example,  to detect  the accumulation
  3994.  of events for a single user it may be necessary to collect events
  3995. from several subjects in distinct processes that are surrogates
  3996. for the  same user.  As another example, there may  be a single
  3997. TCB subset  that collects events from a  number of other TCB 
  3998. subset instantiations and, based  on its analysis  of them, notifies
  3999.  the security administrator.
  4000. Statement from TCSEC
  4001.  
  4002.  
  4003.  
  4004. The  TCB shall  be able  to create, maintain, and protect  from
  4005. modification .  .  .   an audit trail of accesses to the objects
  4006. it protects.
  4007. Interpretation
  4008.  
  4009.  
  4010.  
  4011. Auditable events,  in the case of  a database management   system,
  4012.  are  the   individual  operations initiated   by   untrusted
  4013.    users   (e.g.,   updates, retrievals,  inserts), not  just
  4014. the  invocation of the database  management  system.   The  auditing
  4015. mechanism shall  have  the  capability  of  auditing all mediated
  4016. accesses which are visible to  the user.  That is, each discretionary
  4017. access  control policy decision  and each mandatory  access  control
  4018.  policy  decision  shall  be auditable.  Individual operations
  4019.  performed by trusted software, if totally transparent  to the
  4020. user, need not be auditable.  If the total audit requirement is
  4021. met by the  use  of  more  than  one  audit  log,  a method of
  4022. correlation must be available.
  4023. Statement from TCSEC
  4024.  
  4025.  
  4026.  
  4027. The  TCB shall  be able  to create, maintain, and protect  from
  4028. modification .  .  .   an audit trail of accesses to the objects
  4029. it protects.
  4030. Interpretation
  4031.  
  4032.  
  4033.  
  4034. Auditable events,  in the case of  a database management system,
  4035. are the individual  operations  initiated by untrusted users (e.g.,
  4036.   updates, retrievals,  and inserts),  not just  the invocation
  4037. of the database management system.  The auditing mechanism shall
  4038.  have  the  capability  of  auditing all mediated accesses which
  4039. are visible to  the user.  That is, each  discretionary access
  4040.  control policy decision  and each mandatory  access  control
  4041.  policy  decision  shall  be auditable.  Individual operations
  4042.  performed by trusted software, if totally transparent  to the
  4043. user, need not be auditable.  If the total audit requirement is
  4044. met by the  use  of  more  than  one  audit  log,  a method of
  4045. correlation must be available.
  4046. B2-3 ASSURANCE
  4047.  
  4048. B2-3.1 OPERATIONAL ASSURANCE
  4049.  
  4050. B2-3.1.1 SYSTEM ARCHITECTURE
  4051.  
  4052.  
  4053.  
  4054. This  requirement applies   as stated  in the TCSEC to every TCB
  4055. subset, with  the  following additional interpretations.
  4056.  
  4057.  
  4058. The  TCB must  provide domains  for execution that are allocated
  4059. to and used by TCB subsets according to the subset-domain condition
  4060. for evaluation by parts.  A  most primitive TCB  subset must provide
  4061.  domains for execution.  A  less primitive TCB subset  must make
  4062. use of domains provided by a  more primitive TCB subset.  A less
  4063. primitive TCB subset may provide further execution domains but
  4064. is not required to do so.
  4065.  
  4066.  
  4067. Similarly,  the  TCB  must  provide  distinct address  spaces
  4068.   for  untrusted  processes.    A  most primitive  TCB  subset
  4069.  must  provide  distinct address spaces for  its subjects.  A
  4070. less  primitive TCB subset must make use of the distinct address
  4071. space provided by a  more primitive  TCB  subset.   A less  primitive
  4072. TCB subset may  provide more fine-grained  distinct address spaces,
  4073. but is not required to do so.
  4074.  
  4075.  
  4076. In    general,   requirements    specifically referring  to hardware
  4077.  or firmware  apply only  to TCB subsets  that   include  hardware
  4078.  or   firmware.   The  exception  is   the  requirement  that
  4079.  the   TCB  make effective use of  available hardware.  This requirement
  4080. applies  to  those  TCB   subsets  that  use  resources provided
  4081.  by  more  primitive  TCB  subsets  in lieu of hardware.   Those
  4082.  TCB  subsets  are  required  to make effective  use  of   the
  4083.  protection-relevant  features exported to it by the more primitive
  4084. TCB subsets (e.g., execution domains, support for distinct address
  4085. spaces) to separate those elements that are protection-critical
  4086. from those that are not.
  4087. Statement from TCSEC
  4088.  
  4089.  
  4090.  
  4091. The TCB  shall maintain a domain  for its own execution that 
  4092. protects it from  external interference or tampering.
  4093. Interpretation
  4094.  
  4095.  
  4096.  
  4097. If  the  TCB  is  composed  of  multiple  TCB subsets, this requirement
  4098. applies to each TCB subset.
  4099. Statement from TCSEC
  4100.  
  4101.  
  4102.  
  4103. The  user  interface  to  the  TCB  shall  be completely  defined
  4104.   and  all  elements  of   the  TCB identified.
  4105. Interpretation
  4106.  
  4107.  
  4108.  
  4109. If the  TCB is composed of  multiple subsets, this requirement
  4110.  applies to the interface  between the TCB subsets as well as
  4111.  the user interface to the whole TCB.
  4112. Statement from TCSEC
  4113.  
  4114.  
  4115.  
  4116. It  shall  make  effective  use  of available hardware   to  
  4117. separate   those   elements   that  are protection-critical from
  4118. those that are not.
  4119. Interpretation
  4120.  
  4121.  
  4122.  
  4123. If the  TCB is composed of  multiple subsets, each TCB subset
  4124. must make use of facilities provided to it by  more primitive
  4125. TCB subsets, such  as support for execution domains  and for distinct
  4126. address  spaces, to achieve the required separation.
  4127. B2-3.1.2 SYSTEM INTEGRITY
  4128.  
  4129.  
  4130.  
  4131. This  requirement applies   as stated  in the TCSEC  to every
  4132.  TCB subset  that includes  hardware or firmware.   Any  TCB 
  4133. subset   that  does  not  include hardware or firmware is exempt
  4134. from this requirement.
  4135. B2-3.1.3 COVERT CHANNEL ANALYSIS
  4136.  
  4137.  
  4138.  
  4139. This  requirement applies   as stated  in the TCSEC  to the  entire
  4140. TCB.    When the  TCB is  made up entirely  of  TCB  subsets 
  4141. meeting  the conditions for evaluation  by parts,  analysis of
  4142.  the individual  TCB subsets satisfies this  requirement.  Otherwise,
  4143. covert channel  analysis of the  entire TCB must  be performed
  4144. (even if the results of  covert channel analysis of the individual
  4145. TCB subsets were available).
  4146. B2-3.1.4 TRUSTED FACILITY MANAGEMENT
  4147.  
  4148.  
  4149.  
  4150. This  requirement applies   as stated  in the TCSEC   to   the
  4151.   entire   TCB.    Any  "operator"  or "administrator"
  4152.  functions intrinsic  to an  individual TCB subset must be supported
  4153. by that TCB subset or by a more primitive TCB subset.
  4154. B2-3.2 LIFE CYCLE ASSURANCE
  4155.  
  4156. B2-3.2.1 SECURITY TESTING
  4157.  
  4158.  
  4159.  
  4160. This  requirement applies   as stated  in the TCSEC  to the  entire
  4161. TCB.   If a  TCB consists  of TCB subsets meeting the conditions
  4162. for evaluation by parts, the satisfaction of the requirements
  4163. by each TCB subset satisfies   the  requirement    for  the  
  4164. entire  TCB.  Otherwise, security  testing of the entire  TCB
  4165. must be performed   (even  if   the  results   of  testing  the
  4166. individual TCB subsets were available).
  4167. B2-3.2.2 DESIGN SPECIFICATION AND VERIFICATION
  4168.  
  4169.  
  4170.  
  4171. This  requirement applies   as stated  in the TCSEC to every TCB
  4172.  subset, with the following specific additional interpretations.
  4173.  
  4174.  
  4175. It  must be  demonstrated that  the security  policy  enforced
  4176.  by  the  composite  TCB  is represented by the collection  of
  4177. policy models for the individual TCB subsets.
  4178.  
  4179.  
  4180. The argument  that the descriptive  top level specification  (DTLS)
  4181.   is  consistent  with   the  TCB interface applies to the entire
  4182. TCB.  There is required an explicit  and convincing description
  4183. of  how the set of top  level specifications (one for  each TCB
  4184. subset) describes  the TCB  interface in  terms of  exceptions,
  4185. errors, and effects.
  4186. Statement from TCSEC
  4187.  
  4188.  
  4189.  
  4190. A  formal   model  of  the   security  policy supported by the
  4191. TCB shall  be maintained over the life cycle  of  the  ADP   system
  4192.  and  demonstrated  to  be consistent with its axioms.
  4193. Interpretation
  4194.  
  4195.  
  4196.  
  4197. If  the  TCB  is  composed  of  multiple  TCB subsets,  this 
  4198. requirement  applies  to  the  security policy of  each TCB subset.
  4199.  An  informal argument that the  set  of  policy  models  represents
  4200.  the "security policy  supported  by  the  [composite]  TCB"
  4201.  must  be provided.
  4202. Statement from TCSEC
  4203.  
  4204.  
  4205.  
  4206. A descriptive  top-level specification (DTLS) of  the TCB  shall
  4207.  be  maintained that  completely and accurately  describes the
  4208.  TCB in  terms of exceptions, error messages, and effects.
  4209. Interpretation
  4210.  
  4211.  
  4212.  
  4213. If  the  TCB  is  composed  of  multiple  TCB subsets, this  requirement
  4214. applies to the  DTLS of each TCB subset.  An informal argument
  4215. that the set of DTLSs accurately describes the TCB must be provided.
  4216.  
  4217.  
  4218. If there is a multifaceted policy (e.g., both mandatory  access
  4219.  control   and  discretionary  access control policies) in a 
  4220. particular TCB subset, then all facets must be  represented in
  4221. the DTLS and  in the TCB subset's model.
  4222. Statement from TCSEC
  4223.  
  4224.  
  4225.  
  4226. The   descriptive   top-level   specification (DTLS) shall be
  4227. shown to  be an accurate description of the TCB interface.
  4228. Interpretation
  4229.  
  4230.  
  4231.  
  4232. If the  TCB is composed of  multiple subsets, this requirement
  4233.  applies to the interface  between the TCB  subsets as well  as
  4234. to the  user interface of  the composite  TCB.  The   TCB interface
  4235.  description shall include an explanation of how to describe the
  4236. total TCB accurately, in  the context of the  multiple TCB subset
  4237. DTLSs.
  4238. B2-3.2.3 Configuration Management
  4239.  
  4240.  
  4241.  
  4242. This  requirement applies   as stated  in the TCSEC  to  every
  4243.  TCB  subset  in  the  TCB,  with  the following additional interpretation.
  4244.  Because subsets  of the TCB may  be developed independently,
  4245. a single configuration management system may  not  be  feasible.
  4246.   However,  the  combination of configuration  management systems
  4247.  used to  support all the TCB subsets must  meet all the stated
  4248. requirements.  The  information describing the  interrelations
  4249. between separate  TCB  subsets  and  separate  security  policy
  4250. models  falls into  the category  of "all documentation and
  4251.  code associated  with the  current version  of the TCB"
  4252. in the TCSEC requirements.
  4253. B2-4 DOCUMENTATION
  4254.  
  4255. B2-4.1 SECURITY FEATURES USER'S GUIDE
  4256.  
  4257.  
  4258.  
  4259. This  requirement applies   as stated  in the TCSEC to every TCB
  4260. subset  in the TCB.  This collection of guides must include descriptions
  4261. of every TCB subset in  the  TCB  and  explicit  cross-references
  4262.  to other related  user's   guides  to  other  TCB   subsets,
  4263.  as required.  In addition, interactions between mechanisms within
  4264. different TCB subsets must be clearly described.
  4265. B2-4.2 TRUSTED FACILITY MANUAL
  4266.  
  4267.  
  4268.  
  4269. This  requirement applies   as stated  in the TCSEC to the TCB
  4270. and to every TCB subset in the TCB. This  requirement can  be
  4271. met  by providing a set of manuals, one  for each distinct (non-replicated)
  4272. TCB  subset.  Each  manual shall  address the functions and privileges
  4273. to be  controlled for the associated TCB subset.   Additionally,
  4274.   it  must  clearly   show  the interfaces to, and the interaction
  4275. with, more primitive TCB  subsets.  The  manual  for  each TCB
  4276.  subset shall identify  the  functions  and  privileges  of  the
  4277.  TCB subsets  on which  the associated  TCB subset  depends. 
  4278. Also, the TCB subset's  manual shall identify which, if any, 
  4279. configuration options  of the  more primitive TCB subsets are
  4280. to be used for the composite TCB to operate securely.
  4281.  
  4282.  
  4283. Any   pre-defined   roles   supported  (e.g., database  administrator)
  4284.  by  the  TCB  subset shall be addressed. The means for correlating
  4285. multiple audit logs and synonymous  user identifications from
  4286.  multiple TCB subsets (if such exist) shall also be addressed.
  4287.  
  4288.  
  4289. The  trusted facility  manual shall  describe the  composite TCB
  4290. so  that the interactions  among the TCB subsets  can be readily
  4291. determined.   Other manuals may be  referenced in this determination.
  4292.   The manuals that address  the distinct modules  of the TCB 
  4293. and the generation of  the TCB need  to be integrated  with the
  4294. other trusted facility manuals  only to the extent that they are
  4295. affected by the  use and operation (versus the development) of
  4296. the composite TCB.
  4297.  
  4298.  
  4299. The  TCB modules  that contain  the reference validation  mechanism
  4300. must  be associated  with the TCB subset  to  which  they   belong.
  4301.   The  procedure  for generating  a  new  TCB  after  modifying
  4302.  only one (or several)  TCB subsets must  be described.  This
  4303.  may be accommodated   by  independent   regeneration  of   the
  4304. individual TCB  subsets or by regeneration  of only the affected
  4305. TCB subsets.
  4306. B2-4.3 TEST DOCUMENTATION
  4307.  
  4308.  
  4309.  
  4310. This  requirement applies   as stated  in the TCSEC to the composite
  4311. TCB.
  4312. B2-4.4 DESIGN DOCUMENTATION
  4313.  
  4314.  
  4315.  
  4316. This  requirement applies   as stated  in the TCSEC to the composite
  4317. TCB, with the following specific addditional interpretations.
  4318.  Requirements  concerning   models  and  DTLSs apply to individual
  4319. TCB subsets.  The requirement concerning the description of interfaces
  4320.  between  modules  of  the  TCB includes the interfaces between
  4321. TCB subsets. The documentation of  the implementation of a reference
  4322.    validation    mechanism    must    include justification for
  4323. meeting the conditions for evaluation by parts.
  4324. Statement from TCSEC
  4325.  
  4326.  
  4327.  
  4328. The interfaces between  the TCB modules shall be described.
  4329. Interpretation
  4330.  
  4331.  
  4332.  
  4333. If the  TCB is composed of  multiple subsets, this  requirement
  4334. applies  to each  TCB subset  and the interfaces between TCB subsets.
  4335. Statement from TCSEC
  4336.  
  4337.  
  4338.  
  4339. The specific TCB  protection mechanisms shall be  identified and
  4340.  an explanation  given to  show that they satisfy the model.
  4341. Interpretation
  4342.  
  4343. If the  TCB is composed of  multiple subsets, this requirement
  4344.  applies to each TCB  subset and shall include  the protection
  4345. mechanisms which  support the conditions  for  TCB   subset  structure
  4346.  and  separate subset-domains.
  4347.  
  4348. Statement from TCSEC
  4349.  
  4350.  
  4351.  
  4352. The   descriptive   top-level   specification (DTLS) shall be
  4353. shown to  be an accurate description of the TCB interface.
  4354. Interpretation
  4355.  
  4356.  
  4357.  
  4358. If the  TCB is composed of  multiple subsets, this requirement
  4359.  applies to the interface  between the TCB  subsets as well  as
  4360. to the  user interface of  the composite  TCB.  The   TCB interface
  4361.  description shall include an explanation of how to describe the
  4362. total TCB accurately, in  the context of the  multiple TCB subset
  4363. DTLSs.
  4364. Statement from TCSEC
  4365.  
  4366.  
  4367.  
  4368. Documentation  shall  describe  how  the  TCB implements  the
  4369. reference  monitor concept  and give an explanation  of why it
  4370.  is tamper resistant,  cannot be bypassed, and is correctly implemented.
  4371. Interpretation
  4372.  
  4373.  
  4374.  
  4375. If  the  TCB  is  composed  of  multiple  TCB subsets,  this requirement
  4376.  is interpreted  to apply to each TCB subset with  respect to
  4377. its specific technical policy.   In  addition,  there  must  be
  4378.  documented an informal  argument that  the cooperative  action
  4379. of the TCB  subsets  makes  the  TCB  itself tamper resistant,
  4380. non-bypassable, and correct.
  4381. Statement from TCSEC
  4382.  
  4383.  
  4384.  
  4385. Documentation shall  describe how the  TCB is structured to  facilitate
  4386. testing and to  enforce least privilege.
  4387. Interpretation
  4388.  
  4389.  
  4390.  
  4391. If the  TCB is composed of  multiple subsets, this requirement
  4392. is interpreted  to apply to individual TCB subsets as well as
  4393. to the overall TCB.
  4394. CLASS (B3):  SECURITY DOMAINS
  4395.  
  4396. B3-1 SECURITY POLICY 
  4397.  
  4398. B3-1.1 DISCRETIONARY ACCESS CONTROL
  4399.  
  4400.  
  4401.  
  4402. The discretionary access control requirements apply as stated
  4403. in the  TCSEC to every TCB subset whose policy  includes discretionary
  4404.   access control  of its subjects to  its objects.  Any TCB  subset
  4405. whose policy does not  include such discretionary access  control
  4406. is exempt from this requirement.
  4407. B3-1.2 OBJECT REUSE
  4408.  
  4409.  
  4410.  
  4411. This  requirement applies  as  stated  in the  TCSEC to every
  4412. TCB subset in the TCB.
  4413. B3-1.3 LABELS
  4414.  
  4415.  
  4416.  
  4417. This  requirement applies   as stated  in the TCSEC  to  every
  4418.  TCB   subset  whose  policy  includes mandatory access control
  4419. of its subjects to its objects.  Any TCB subset  whose policy
  4420. does not include such  mandatory  access  control  is  exempt
  4421.  from this requirement.
  4422. Statement from TCSEC
  4423.  
  4424.  
  4425.  
  4426. Sensitivity  labels associated with  each ADP system resource
  4427. .  .  .  that is directly or indirectly accessible  by subjects
  4428.  external to  the TCB  shall be maintained by the TCB
  4429. Interpretation
  4430.  
  4431.  
  4432.  
  4433. Internal TCB  variables that are  not visible to  untrusted subjects
  4434.  need not  be labeled,  provided that they are not  directly or
  4435. indirectly accessible by subjects external to the TCB.  However,
  4436. it is important to understand that such internal variables can
  4437. function as  covert signaling  channels when  untrusted subjects
  4438. are  able  to  detect  changes  in  these  variables by observing
  4439. system behavior.
  4440. B3-1.3.1 LABEL INTEGRITY
  4441.  
  4442.  
  4443.  
  4444. This  requirement applies   as stated  in the TCSEC  to  every
  4445.  TCB   subset  whose  policy  includes mandatory  access  control
  4446.  of   its  subjects  to  its objects.  Any TCB subset  whose policy
  4447. does not include such  mandatory  access  control  is  exempt
  4448.  from this requirement.
  4449. B3-1.3.2 EXPORTATION OF LABELED INFORMATION
  4450.  
  4451.  
  4452.  
  4453. This  requirement applies   as stated  in the TCSEC  to  every
  4454.  TCB   subset  whose  policy  includes mandatory  access  control
  4455.  of   its  subjects  to  its objects.  Any TCB subset  whose policy
  4456. does not include such  mandatory  access  control  is  exempt
  4457.  from this requirement.
  4458. B3-1.3.3 SUBJECT SENSITIVITY LABELS
  4459.  
  4460.  
  4461.  
  4462. This  requirement applies   as stated  in the TCSEC to the entire
  4463. TCB.  The cooperative action of the TCB  subsets  making  up 
  4464.  the  TCB  must  satisfy  the requirement.
  4465. B3-1.3.4 DEVICE LABELS
  4466.  
  4467.  
  4468.  
  4469. This  requirement applies   as stated  in the TCSEC  to  every
  4470.  TCB   subset  whose  policy  includes mandatory access control
  4471. of its subjects to its objects and has attached physical  or virtual
  4472. devices.  Any TCB subset  whose policy  does not  include such
  4473.  mandatory access control  or has no attached  physical or virtual
  4474. devices   is  exempt   from  this   requirement.   This requirement
  4475. can be satisifed  by the cooperative action of more than one TCB
  4476. subset.
  4477. B3-1.4 MANDATORY ACCESS CONTROL
  4478.  
  4479.  
  4480.  
  4481. This  requirement applies   as stated  in the TCSEC  to  every
  4482.  TCB   subset  whose  policy  includes mandatory  access  control
  4483.  of   its  subjects  to  its objects.  Any TCB subset  whose policy
  4484. does not include such  mandatory  access  control  is  exempt
  4485.  from this requirement.
  4486. B3-2 ACCOUNTABILITY
  4487.  
  4488. B3-2.1 IDENTIFICATION AND AUTHENTICATION
  4489.  
  4490.  
  4491.  
  4492. This  requirement applies   as stated  in the TCSEC to the entire
  4493. TCB.  The cooperative action of the TCB  subsets  making  up 
  4494.  the  TCB  must  satisfy  the requirement.
  4495.  
  4496.  
  4497. If  the TCB is  composed of TCB  subsets, one TCB subset  may
  4498. either rely  on a mechanism  in another TCB subset to provide
  4499. identification and authentication services or provide  the services
  4500. directly.  Similarly, that TCB subset may rely on a mechanism
  4501. in another more primitive TCB subset to  ensure that the security
  4502. level of subjects external to the  TCB that may be created to
  4503. act on  behalf of the individual user  are dominated by the clearance
  4504. and authorization of that user.  Each TCB subset   may  maintain
  4505.   its  own   identification  and authentication  data or  one
  4506. central  repository may be maintained.  If each TCB subset  has
  4507. its own data, then the  information  for  each  individual  user
  4508.  must  be consistent among all subsets.
  4509. B3-2.1.1 TRUSTED PATH
  4510.  
  4511.  
  4512.  
  4513. This  requirement applies   as stated  in the TCSEC to the entire
  4514. TCB.  The cooperative action of the TCB  subsets  making  up 
  4515.  the  TCB  must  satisfy  the requirement.
  4516.  
  4517.  
  4518. When  TCB subsets  are used,  the requirement for  trusted  path
  4519.  at  levels  B2  and  above  remains applicable  to the  entire
  4520. TCB.   The need  for trusted path "when positive  TCB-to-user
  4521. connection is required (e.g.,  login,  change  subject  security
  4522.  level)"  can require user interaction with  virtually any
  4523. TCB subset within  the TCB.   The implementation  of trusted 
  4524. path could   be   localized   in   a   single   TCB  subset. 
  4525. Alternatively, it could be implemented in more than one TCB  subset
  4526. if   the separate  implementations together comply with the system
  4527. security policy.
  4528. B3-2.2 AUDIT
  4529.  
  4530.  
  4531.  
  4532. This  requirement applies   as stated  in the TCSEC to the entire
  4533. TCB.  The cooperative action of the TCB  subsets  making  up 
  4534.  the  TCB  must  satisfy  the requirement. A  TCB subset  may
  4535. maintain  its own security audit  log,  distinct  from  that 
  4536. maintained  by  more primitive TCB subsets, or it may use an audit
  4537. interface provided by  a different TCB subset  allowing the audit
  4538. records  it  generates  to  be  processed  by  that TCB subset.
  4539. If  the   TCB  subset  uses   different  user identifications
  4540. than a more primitive TCB subset, there shall be  a means to associate
  4541.  audit records generated by different  TCB subsets for the  same
  4542. individual with each other, either at the time they are generated
  4543. or at some later time.
  4544.  
  4545.  
  4546. Any TCB subset wherein  events may occur that require  notification
  4547.  of  the  security  administrator shall be  able to:  (1) detect
  4548. the  occurrence of these events, (2)  initiate the recording of
  4549.  the audit trail entry,  and  (3)  initiate   the  notification
  4550.  of  the security  administrator The ability to terminate events
  4551. (2) and (3) above  may be provided either in the TCB  subset within
  4552.  which they   occur, or  in the  TCB subset(s)  where actions
  4553.  that lead  to the  event were initiated.  The monitoring  and
  4554. notification requirements may require  cooperation between multiple
  4555.  distinct TCB subsets  or  multiple  instantiations  of  the same
  4556. TCB subset.   For example,  to detect  the accumulation  of events
  4557. for a single user it may be necessary to collect events from several
  4558. subjects in distinct processes that are surrogates for the  same
  4559. user.  As another example, there may  be a single TCB subset 
  4560. that collects events from a  number of other TCB  subset instantiations
  4561. and, based  on its analysis  of them, notifies  the security administrator.
  4562. Statement from TCSEC
  4563.  
  4564.  
  4565.  
  4566. The  TCB shall  be able  to create, maintain, and protect  from
  4567. modification .  .  .   an audit trail of accesses to the objects
  4568. it protects.
  4569. Interpretation
  4570.  
  4571.  
  4572.  
  4573. Auditable events,  in the case of  a database management   system,
  4574.  are  the   individual  operations initiated   by   untrusted
  4575.    users   (e.g.,   updates, retrievals,  inserts), not  just
  4576. the  invocation of the database  management  system.   The  auditing
  4577. mechanism shall  have  the  capability  of  auditing all mediated
  4578. accesses which are visible to  the user.  That is, each discretionary
  4579. access  control policy decision  and each mandatory  access  control
  4580.  policy  decision  shall  be auditable.  Individual operations
  4581.  performed by trusted software, if totally transparent  to the
  4582. user, need not be audited.   If the total audit requirement  is
  4583. met by the  use  of  more  than  one  audit  log,  a method of
  4584. correlation must be available.
  4585. Statement from TCSEC
  4586.  
  4587.  
  4588.  
  4589. The  TCB shall  be able  to create, maintain, and protect  from
  4590. modification .  .  .   an audit trail of accesses to the objects
  4591. it protects.
  4592. Interpretation
  4593.  
  4594.  
  4595.  
  4596. Auditable events,  in the case of  a database management   system,
  4597.  are  the   individual  operations initiated   by   untrusted
  4598.    users   (e.g.,   updates, retrievals,  and inserts),  not just
  4599.  the invocation of the database management system.  The auditing
  4600. mechanism shall  have  the  capability  of  auditing all mediated
  4601. accesses which are visible to  the user.  That is, each discretionary
  4602. access  control policy decision  and each mandatory  access  control
  4603.  policy  decision  shall  be auditable.  Individual operations
  4604.  performed by trusted software, if totally transparent  to the
  4605. user, need not be auditable.  If the total audit requirement is
  4606. met by the  use  of  more  than  one  audit  log,  a method of
  4607. correlation must be available.
  4608. B3-3 ASSURANCE
  4609.  
  4610. B3-3.1 OPERATIONAL ASSURANCE 1 
  4611.  
  4612. B3-3.1.1 System Architecture
  4613.  
  4614.  
  4615.  
  4616. This  requirement applies   as stated  in the TCSEC   to  every
  4617.   TCB  subset,   with  the  following additional interpretations.
  4618. The  TCB must  provide domains  for execution that are allocated
  4619. to and used by TCB subsets according to the subset-domain condition
  4620. for evaluation by parts.  A  most primitive TCB  subset must provide
  4621.  domains for execution.  A  less primitive TCB subset  must make
  4622. use of domains provided by a  more primitive TCB subset.  A less
  4623. primitive TCB subset may provide further execution domains but
  4624. is not required to do so.
  4625.  
  4626.  
  4627. Similarly,  the  TCB  must  provide  distinct address  spaces
  4628.   for  untrusted  processes.    A  most primitive  TCB  subset
  4629.  must  provide  distinct address spaces for  its subjects.  A
  4630. less  primitive TCB subset must make use of the distinct address
  4631. space provided by a  more primitive  TCB  subset.   A less  primitive
  4632. TCB subset may  provide more fine-grained  distinct address spaces,
  4633. but is not required to do so.
  4634.  
  4635.  
  4636. In    general,   requirements    specifically referring  to hardware
  4637.  or firmware  apply only  to TCB subsets  that include  hardware
  4638. or  firmware.  However, the  requirement that  the  TCB  make
  4639. effective  use of hardware requires that a less primitive TCB
  4640. subset make effective  use  of   the  protection-relevant  features
  4641. exported to it by the more primitive TCB subsets (e.g., execution
  4642. domains, support for distinct address spaces) to separate those
  4643. elements that are protection-critical from those that are not.
  4644. Statement from TCSEC
  4645.  
  4646.  
  4647.  
  4648. The TCB  shall maintain a domain  for its own execution that 
  4649. protects it from  external interference or tampering.
  4650. Interpretation
  4651.  
  4652.  
  4653.  
  4654. If  the  TCB  is  composed  of  multiple  TCB subsets, this requirement
  4655. applies to each TCB subset.
  4656. Statement from TCSEC
  4657.  
  4658.  
  4659.  
  4660. The  user  interface  to  the  TCB  shall  be completely  defined
  4661.   and  all  elements  of   the  TCB identified.
  4662. Interpretation
  4663.  
  4664.  
  4665.  
  4666. If the  TCB is composed of  multiple subsets, this requirement
  4667.  applies to the interface  between the TCB subsets as well as
  4668.  the user interface to the whole TCB.
  4669. Statement from TCSEC
  4670.  
  4671.  
  4672.  
  4673. It  shall  make  effective  use  of available hardware   to  
  4674. separate   those   elements   that  are protection-critical from
  4675. those that are not.
  4676. Interpretation
  4677.  
  4678.  
  4679.  
  4680. If the  TCB is composed of  multiple subsets, each TCB subset
  4681. must make use of facilities provided to it by  more primitive
  4682. TCB subsets, such  as support for execution domains  and for distinct
  4683. address  spaces, to achieve the required separation.
  4684. B3-3.1.2 SYSTEM INTEGRITY
  4685.  
  4686.  
  4687.  
  4688. This  requirement applies   as stated  in the TCSEC  to every
  4689.  TCB subset  that includes  hardware or firmware.   Any  TCB 
  4690. subset   that  does  not  include hardware or firmware is exempt
  4691. from this requirement.
  4692. B3-3.1.3 COVERT CHANNEL ANALYSIS
  4693.  
  4694.  
  4695.  
  4696. This  requirement applies   as stated  in the TCSEC  to the  entire
  4697. TCB.    When the  TCB is  made up entirely  of  TCB  subsets 
  4698. meeting  the conditions for evaluation  by parts,  analysis of
  4699.  the individual  TCB subsets satisfies this  requirement.  Otherwise,
  4700. covert channel  analysis of the  entire TCB must  be performed
  4701. (even if the results of  covert channel analysis of the individual
  4702. TCB subsets were available).
  4703. B3-3.1.4 TRUSTED FACILITY MANAGEMENT
  4704.  
  4705.  
  4706.  
  4707. This  requirement applies   as stated  in the TCSEC   to   the
  4708.   entire   TCB.    Any  "operator"  or "administrator"
  4709.  functions intrinsic  to an  individual TCB subset must be supported
  4710. by that TCB subset or by a more primitive TCB subset.
  4711. B3-3.1.5 TRUSTED RECOVERY
  4712.  
  4713.  
  4714.  
  4715. This  requirement applies   as stated  in the TCSEC  to the  entire
  4716. TCB   and to  the individual  TCB subsets.  The  cooperative recovery
  4717. actions of  the TCB subsets making up the TCB must provide trusted
  4718. recovery for  the  overall  TCB.   Otherwise,  trusted  recovery
  4719. evaluation  must address  the entire  TCB (even  if the individual
  4720.  TCB  subsets   meet  the  trusted  recovery requirements).
  4721. B3-3.2 LIFE CYCLE ASSURANCE
  4722.  
  4723. B3-3.2.1 SECURITY TESTING
  4724.  
  4725.  
  4726.  
  4727. This  requirement applies   as stated  in the TCSEC  to the  entire
  4728. TCB.   If a  TCB consists  of TCB subsets meeting the conditions
  4729. for evaluation by parts, the satisfaction of the requirements
  4730. by each TCB subset satisfies   the  requirement    for  the  
  4731. entire  TCB.
  4732.  
  4733.  
  4734. Otherwise, security  testing of the entire  TCB must be performed
  4735.   (even  if   the  results   of  testing  the individual TCB subsets
  4736. were available).
  4737. B3-3.2.2 DESIGN SPECIFICATION AND VERIFICATION
  4738.  
  4739.  
  4740.  
  4741. This  requirement applies   as stated  in the TCSEC to every TCB
  4742.  subset, with the following specific additional interpretations.
  4743.  
  4744.  
  4745. It  must be   demonstrated that  the security policy enforced
  4746. by the  composite TCB is represented by the collection of policy
  4747.  models for the individual TCB subsets.
  4748.  
  4749.  
  4750. The argument  that the descriptive  top level specification  (DTLS)
  4751.   is  consistent  with   the  TCB interface applies to the entire
  4752. TCB.  There is required an explicit  and convincing description
  4753. of  how the set of top  level specifications (one for  each TCB
  4754. subset) describes  the TCB  interface in  terms of  exceptions,
  4755. errors, and effects.
  4756. Statement from TCSEC
  4757.  
  4758.  
  4759.  
  4760. A  formal   model  of  the   security  policy supported by the
  4761. TCB shall  be maintained over the life cycle  of  the  ADP   system
  4762.  and  demonstrated  to  be consistent with its axioms.
  4763. Interpretation
  4764.  
  4765.  
  4766.  
  4767. If  the  TCB  is  composed  of  multiple  TCB subsets,  this 
  4768. requirement  applies  to  the  security policy of  each TCB subset.
  4769.  An  informal argument that the  set  of  policy  models  represents
  4770.  the "security policy  supported  by  the  [composite]  TCB"
  4771.  must  be provided.
  4772. Statement from TCSEC
  4773.  
  4774.  
  4775.  
  4776. A descriptive  top-level specification (DTLS) of  the TCB  shall
  4777.  be  maintained that  completely and accurately  describes the
  4778.  TCB in  terms of exceptions, error messages, and effects.
  4779. Interpretation
  4780.  
  4781.  
  4782.  
  4783. If  the  TCB  is  composed  of  multiple  TCB subsets, this  requirement
  4784. applies to the  DTLS of each TCB subset.  An informal argument
  4785. that the set of DTLSs accurately describes the TCB must be provided.
  4786.  
  4787.  
  4788. If there is a multifaceted policy (e.g., both mandatory  access
  4789.  control   and  discretionary  access control policies) in a 
  4790. particular TCB subset, then all facets must be  represented in
  4791. the DTLS and  in the TCB subset's model.
  4792. Statement from TCSEC
  4793.  
  4794.  
  4795.  
  4796. The   descriptive   top-level   specification (DTLS) shall be
  4797. shown to  be an accurate description of the TCB interface.
  4798. Interpretation
  4799.  
  4800.  
  4801.  
  4802. If the  TCB is composed of  multiple subsets, this requirement
  4803.  applies to the interface  between the TCB  subsets as well  as
  4804. to the  user interface of  the composite  TCB.  The   TCB interface
  4805.  description shall include an explanation of how to describe the
  4806. total TCB accurately, in  the context of the  multiple TCB subset
  4807. DTLSs.
  4808. Statement from TCSEC
  4809.  
  4810.  
  4811.  
  4812. A convincing argument shall be given that the DTLS is consistent
  4813. with the model.
  4814. Interpretation
  4815.  
  4816.  
  4817.  
  4818. If  the  TCB  is  composed  of  multiple  TCB subsets,  this requirement
  4819.   applies to  individual TCB subsets.  Enforcement of all  policies
  4820. must be shown to occur  in  all  situations  (e.g.,  state  transitions)
  4821. required by  the formal security policy  model.  In the case 
  4822. of  a  discretionary  access  control policy, the presence of
  4823. the access  control check at all identified state transitions
  4824. is the total  of what is required for demonstrating  consistency
  4825.  between  the  DTLS  and the model.  This may be verified  by
  4826. inspection of the DTLS (that  is, by  visually checking  that
  4827. exception checks required by  the model are  present in the  DTLS).
  4828.  For the mandatory  access control policy, the  DTLS must be shown
  4829.  by a convincing  argument to be  consistent with the model.
  4830. B3-3.2.3 CONFIGURATION MANAGEMENT
  4831.  
  4832.  
  4833.  
  4834. This  requirement applies   as stated  in the TCSEC  to  every
  4835.  TCB  subset  in  the  TCB,  with  the following additional interpretation.
  4836.  
  4837.  
  4838. Because subsets  of the TCB may  be developed independently, a
  4839. single configuration management system may  not  be  feasible.
  4840.   However,  the  combination of configuration  management systems
  4841.  used to  support all the TCB subsets must  meet all the stated
  4842. requirements.  The  information describing the  interrelations
  4843. between separate  TCB  subsets  and  separate  security  policy
  4844. models  falls into  the category  of "all documentation and
  4845.  code associated  with the  current version  of the TCB"
  4846. in the TCSEC requirements.
  4847. B3-4 DOCUMENTATION
  4848.  
  4849. B3-4.1 SECURITY FEATURES USER'S GUIDE
  4850.  
  4851.  
  4852.  
  4853. This  requirement applies   as stated  in the TCSEC to every TCB
  4854. subset  in the TCB.  This collection of guides must include descriptions
  4855. of every TCB subset in  the  TCB  and  explicit  cross-references
  4856.  to other related  user's   guides  to  other  TCB   subsets,
  4857.  as  required.  In addition, interactions between mechanisms within
  4858. different TCB subsets must be clearly described.
  4859. B3-4.2 TRUSTED FACILITY MANUAL
  4860.  
  4861.  
  4862.  
  4863. This  requirement applies   as stated  in the TCSEC to the TCB
  4864. and to every TCB subset in the TCB. This  requirement can  be
  4865. met  by providing a set of manuals, one  for each distinct (non-replicated)
  4866. TCB  subset.  Each  manual shall  address the functions and privileges
  4867. to be  controlled for the associated TCB subset.   Additionally,
  4868.   it  must  clearly   show  the interfaces to, and the interaction
  4869. with, more primitive TCB  subsets.  The  manual  for  each TCB
  4870.  subset shall identify  the  functions  and  privileges  of  the
  4871.  TCB subsets  on which  the associated  TCB subset  depends. 
  4872. Also, the TCB subset's  manual shall identify which, if any, 
  4873. configuration options  of the  more primitive TCB subsets are
  4874. to be used for the composite TCB to operate securely.
  4875.  
  4876.  
  4877. Any   pre-defined   roles   supported  (e.g., database  administrator)
  4878.  by  the  TCB  subset shall be addressed.
  4879.  
  4880.  
  4881. The means for correlating multiple audit logs and synonymous 
  4882. user identifications from  multiple TCB subsets (if such exist)
  4883. shall also be addressed.
  4884.  
  4885.  
  4886. The  trusted facility  manual shall  describe the  composite TCB
  4887. so  that the interactions  among the TCB subsets  can be readily
  4888. determined.   Other manuals may be  referenced in this determination.
  4889.   The manuals that address  the distinct modules  of the TCB 
  4890. and the generation of  the TCB need  to be integrated  with the
  4891. other trusted facility manuals  only to the extent that they are
  4892. affected by the  use and operation (versus the development) of
  4893. the composite TCB.
  4894.  
  4895.  
  4896. The  TCB modules  that contain  the reference validation  mechanism
  4897. must  be associated  with the TCB subset  to  which  they   belong.
  4898.   The  procedure  for generating  a  new  TCB  after  modifying
  4899.  only one (or several)  TCB subsets must  be described.  This
  4900.  may be accommodated   by  independent   regeneration  of   the
  4901. individual TCB  subsets or by regeneration  of only the affected
  4902. TCB subsets.
  4903. B3-4.3 TEST DOCUMENTATION
  4904.  
  4905.  
  4906.  
  4907. This  requirement applies   as stated  in the TCSEC to the composite
  4908. TCB.
  4909. B3-4.4 DESIGN DOCUMENTATION
  4910.  
  4911.  
  4912.  
  4913. This  requirement applies   as stated  in the TCSEC  to   the
  4914.  composite  TCB,  with   the  following addtional specific interpretations
  4915.  Requirements  concerning   models  and  DTLSs apply to individual
  4916. TCB subsets.  The requirement concerning the description of interfaces
  4917.  between  modules  of  the  TCB includes the interfaces between
  4918. TCB subsets.  The documentation of  the implementation of a reference
  4919.    validation    mechanism    must    include justification for
  4920. meeting the conditions for evaluation by parts.
  4921. Statement from TCSEC
  4922.  
  4923.  
  4924.  
  4925. The interfaces between  the TCB modules shall be described.
  4926. Interpretation
  4927.  
  4928.  
  4929.  
  4930. If the  TCB is composed of  multiple subsets, this  requirement
  4931. applies  to each  TCB subset  and the interfaces between TCB subsets.
  4932. Statement from TCSEC
  4933.  
  4934.  
  4935.  
  4936. The specific TCB  protection mechanisms shall be  identified and
  4937.  an explanation  given to  show that they satisfy the model.
  4938. Interpretation
  4939.  
  4940.  
  4941.  
  4942. If the  TCB is composed of  multiple subsets, this requirement
  4943.  applies to each TCB  subset and shall include  the protection
  4944.   mechanisms which  support the conditions  for  TCB   subset
  4945.  structure  and  separate subset-domains.
  4946. Statement from TCSEC
  4947.  
  4948.  
  4949.  
  4950. The   descriptive   top-level   specification (DTLS) shall be
  4951. shown to  be an accurate description of the TCB interface.
  4952. Interpretation
  4953.  
  4954.  
  4955.  
  4956. If the  TCB is composed of  multiple subsets, this requirement
  4957.  applies to the interface  between the TCB  subsets as well  as
  4958. to the  user interface of  the composite  TCB.  The   TCB interface
  4959.  description shall include an explanation of how to describe the
  4960. total TCB accurately, in  the context of the  multiple TCB subset
  4961. DTLSs.
  4962. Statement from TCSEC
  4963.  
  4964.  
  4965.  
  4966. Documentation  shall  describe  how  the  TCB implements  the
  4967. reference  monitor concept  and give an explanation  of why it
  4968.  is tamper resistant,  cannot be bypassed, and is correctly implemented.
  4969. Interpretation
  4970.  
  4971. If  the  TCB  is  composed  of  multiple  TCB subsets,  this
  4972. requirement  is interpreted  to apply to each TCB subset with
  4973.  respect to its specific technical policy.   In  addition,  there
  4974.  must  be  documented an informal  argument that  the cooperative
  4975.  action of the TCB  subsets  makes  the  TCB  itself tamper resistant,
  4976. non-bypassable, and correct.
  4977.  
  4978. Statement from TCSEC
  4979.  
  4980.  
  4981.  
  4982. Documentation shall  describe how the  TCB is structured to  facilitate
  4983. testing and to  enforce least privilege.
  4984. Interpretation
  4985.  
  4986.  
  4987.  
  4988. If the  TCB is composed of  multiple subsets, this requirement
  4989. is interpreted  to apply to individual TCB subsets as well as
  4990. to the overall TCB.
  4991. Statement from TCSEC
  4992.  
  4993.  
  4994.  
  4995. The  TCB implementation  shall be  informally shown to be consistent
  4996. with the DTLS.
  4997. Interpretation
  4998.  
  4999.  
  5000.  
  5001. If  the  TCB  is  composed  of  multiple  TCB subsets,  this requirement
  5002.  is interpreted  to apply to individual TCB subsets.
  5003. CLASS (A1):  VERIFIED DESIGN
  5004.  
  5005. A1-1 SECURITY POLICY 
  5006.  
  5007. A1-1.1 DISCRETIONARY ACCESS CONTROL
  5008.  
  5009.  
  5010.  
  5011. The discretionary access control requirements apply as stated
  5012. in the  TCSEC to every TCB subset whose policy  includes discretionary
  5013.   access control  of its subjects to  its objects.  Any TCB  subset
  5014. whose policy does not  include such discretionary access  control
  5015. is exempt from this requirement.
  5016. A1-1.2 OBJECT REUSE
  5017.  
  5018.  
  5019.  
  5020. This  requirement applies  as  stated  in the  TCSEC to every
  5021. TCB subset in the TCB.
  5022. A1-1.3 LABELS
  5023.  
  5024.  
  5025.  
  5026. This  requirement applies   as stated  in the TCSEC  to  every
  5027.  TCB   subset  whose  policy  includes mandatory  access  control
  5028.  of   its  subjects  to  its objects.  Any TCB subset  whose policy
  5029. does not include such  mandatory  access  control  is  exempt
  5030.  from this requirement.
  5031. Statement from TCSEC
  5032.  
  5033.  
  5034.  
  5035. Sensitivity  labels associated with  each ADP system resource
  5036. .  .  .  that is directly or indirectly accessible  by subjects
  5037.  external to  the TCB  shall be maintained by the TCB
  5038. Interpretation
  5039.  
  5040.  
  5041.  
  5042. Internal TCB  variables that are  not visible to  untrusted subjects
  5043.  need not  be labeled,  provided that they are not  directly or
  5044. indirectly accessible by subjects external to the TCB.  However,
  5045. it is important to understand that such internal variables can
  5046. function as  covert signaling  channels when  untrusted subjects
  5047. are  able  to  detect  changes  in  these  variables by observing
  5048. system behavior.
  5049. A1-1.3.1 LABEL INTEGRITY
  5050.  
  5051.  
  5052.  
  5053. This  requirement applies   as stated  in the TCSEC  to  every
  5054.  TCB   subset  whose  policy  includes mandatory  access  control
  5055.  of   its  subjects  to  its objects.  Any TCB subset  whose policy
  5056. does not include such  mandatory  access  control  is  exempt
  5057.  from this requirement.
  5058. A1-1.3.2 EXPORTATION OF LABELED INFORMATION
  5059.  
  5060.  
  5061.  
  5062. This  requirement applies   as stated  in the TCSEC  to  every
  5063.  TCB   subset  whose  policy  includes mandatory  access  control
  5064.  of   its  subjects  to  its objects.  Any TCB subset  whose policy
  5065. does not include such  mandatory  access  control  is  exempt
  5066.  from this requirement.
  5067. A1-1.3.3 SUBJECT SENSITIVITY LABELS
  5068.  
  5069.  
  5070.  
  5071. This  requirement applies   as stated  in the TCSEC to the entire
  5072. TCB.  The cooperative action of the TCB  subsets  making  up 
  5073.  the  TCB  must  satisfy  the requirement.
  5074. A1-1.3.4 DEVICE LABELS
  5075.  
  5076.  
  5077.  
  5078. This  requirement applies   as stated  in the TCSEC  to  every
  5079.  TCB   subset  whose  policy  includes mandatory access control
  5080. of its subjects to its objects and has attached physical  or virtual
  5081. devices.  Any TCB subset  whose policy  does not  include such
  5082.  mandatory access control  or has no attached  physical or virtual
  5083. devices   is  exempt   from  this   requirement.   This requirement
  5084. can be satisifed  by the cooperative action of more than one TCB
  5085. subset.
  5086. A1-1.4 MANDATORY ACCESS CONTROL
  5087.  
  5088.  
  5089.  
  5090. This  requirement applies   as stated  in the TCSEC  to  every
  5091.  TCB   subset  whose  policy  includes mandatory  access  control
  5092.  of   its  subjects  to  its objects.  Any TCB subset  whose policy
  5093. does not include such  mandatory  access  control  is  exempt
  5094.  from this requirement.
  5095. A1-2 ACCOUNTABILITY
  5096.  
  5097. A1-2.1 IDENTIFICATION AND AUTHENTICATION
  5098.  
  5099.  
  5100.  
  5101. This  requirement applies   as stated  in the TCSEC to the entire
  5102. TCB.  The cooperative action of the  TCB  subsets  making  up
  5103.   the  TCB  must  satisfy  the requirement.
  5104.  
  5105.  
  5106. If  the TCB is  composed of TCB  subsets, one TCB subset  may
  5107. either rely  on a mechanism  in another TCB subset to provide
  5108. identification and authentication services or provide  the services
  5109. directly.  Similarly, that TCB subset may rely on a mechanism
  5110. in another more primitive TCB subset to  ensure that the security
  5111. level of subjects external to the  TCB that may be created to
  5112. act on  behalf of the individual user  are dominated by the clearance
  5113. and authorization of that user.  Each TCB subset   may  maintain
  5114.   its  own   identification  and authentication  data or  one
  5115. central  repository may be maintained.  If each TCB subset  has
  5116. its own data, then the  information  for  each  individual  user
  5117.  must  be consistent among all subsets.
  5118. A1-2.1.1 TRUSTED PATH
  5119.  
  5120.  
  5121.  
  5122. This  requirement applies   as stated  in the TCSEC to the entire
  5123. TCB.  The cooperative action of the TCB  subsets  making  up 
  5124.  the  TCB  must  satisfy  the requirement.
  5125.  
  5126.  
  5127. When  TCB subsets  are used,  the requirement for  trusted  path
  5128.  at  levels  B2  and  above  remains applicable  to the  entire
  5129. TCB.   The need  for trusted path "when positive  TCB-to-user
  5130. connection is required (e.g.,  login,  change  subject  security
  5131.  level)"  can require user interaction with  virtually any
  5132. TCB subset within  the TCB.   The implementation  of trusted 
  5133. path could   be   localized   in   a   single   TCB  subset. 
  5134. Alternatively, it could be implemented in more than one TCB  subset
  5135. if   the separate  implementations together comply with the system
  5136. security policy.
  5137. A1-2.2 AUDIT
  5138.  
  5139.  
  5140.  
  5141. This  requirement applies   as stated  in the TCSEC to the entire
  5142. TCB.  The cooperative action of the TCB  subsets  making  up 
  5143.  the  TCB  must  satisfy  the requirement.  A  TCB subset  may
  5144. maintain  its own security audit  log,  distinct  from  that 
  5145. maintained  by  more primitive TCB subsets, or it may use an audit
  5146. interface provided by  a different TCB subset  allowing the audit
  5147. records  it  generates  to  be  processed  by  that TCB subset.
  5148.  
  5149.  
  5150. If  the   TCB  subset  uses   different  user identifications
  5151. than a more primitive TCB subset, there shall be  a means to associate
  5152.  audit records generated by different  TCB subsets for the  same
  5153. individual with each other, either at the time they are generated
  5154. or at some later time.
  5155.  
  5156.  
  5157. Any TCB subset wherein  events may occur that require  notification
  5158.  of  the  security  administrator shall be  able to:  (1) detect
  5159. the  occurrence of these events, (2)  initiate the recording of
  5160.  the audit trail entry,  and  (3)  initiate   the  notification
  5161.  of  the security  administrator.   The   ability  to  terminate
  5162. events (2) and (3) above  may be provided either in the TCB  subset
  5163. within  which they   occur, or  in the  TCB subset(s)  where actions
  5164.  that lead  to the  event were initiated.
  5165.  
  5166.  
  5167. The monitoring  and notification requirements may require  cooperation
  5168. between multiple  distinct TCB subsets  or  multiple  instantiations
  5169.  of  the same TCB subset.   For example,  to detect  the accumulation
  5170.  of events for a single user it may be necessary to collect events
  5171. from several subjects in distinct processes that are surrogates
  5172. for the  same user.  As another example, there may  be a single
  5173. TCB subset  that collects events from a  number of other TCB 
  5174. subset instantiations and, based  on its analysis  of them, notifies
  5175.  the security administrator.
  5176. Statement from TCSEC
  5177.  
  5178.  
  5179.  
  5180. The  TCB shall  be able  to create, maintain, and protect  from
  5181. modification .  .  .   an audit trail of accesses to the objects
  5182. it protects.
  5183. Interpretation
  5184.  
  5185.  
  5186.  
  5187. Auditable events,  in the case of  a database management   system,
  5188.  are  the   individual  operations initiated   by   untrusted
  5189.    users   (e.g.,   updates, retrievals,  inserts), not  just
  5190. the  invocation of the database  management  system.   The  auditing
  5191. mechanism shall  have  the  capability  of  auditing all mediated
  5192. accesses which are visible to  the user.  That is, each discretionary
  5193. access  control policy decision  and each mandatory  access  control
  5194.  policy  decision  shall  be auditable.  Individual operations
  5195.  performed by trusted software, if totally transparent  to the
  5196. user, need not be audited.   If the total audit requirement  is
  5197. met by the  use  of  more  than  one  audit  log,  a method of
  5198. correlation must be available.
  5199. Statement from TCSEC
  5200.  
  5201.  
  5202.  
  5203. The  TCB shall  be able  to create, maintain, and protect  from
  5204. modification .  .  .   an audit trail of accesses to the objects
  5205. it protects.
  5206. Interpretation
  5207.  
  5208.  
  5209.  
  5210. Auditable events,  in the case of  a database management   system,
  5211.  are  the   individual  operations initiated   by   untrusted
  5212.    users   (e.g.,   updates, retrievals,  and inserts),  not just
  5213.  the invocation of the database management system.  The auditing
  5214. mechanism shall  have  the  capability  of  auditing all mediated
  5215. accesses which are visible to  the user.  That is, each discretionary
  5216. access  control policy decision  and each mandatory  access  control
  5217.  policy  decision  shall  be auditable.  Individual operations
  5218.  performed by trusted software, if totally transparent  to the
  5219. user, need not be auditable.  If the total audit requirement is
  5220. met by the  use  of  more  than  one  audit  log,  a method of
  5221. correlation must be available.
  5222. A1-3 ASSURANCE
  5223.  
  5224. A1-3.1 OPERATIONAL ASSURANCE
  5225.  
  5226. A1-3.1.1 SYSTEM ARCHITECTURE
  5227.  
  5228.  
  5229.  
  5230. This  requirement applies   as stated  in the TCSEC   to  every
  5231.   TCB  subset,   with  the  following additional interpretations.The
  5232.  TCB must  provide domains  for execution that are allocated to
  5233. and used by TCB subsets according to the subset-domain condition
  5234. for evaluation by parts.  A  most primitive TCB  subset must provide
  5235.  domains for execution.  A  less primitive TCB subset  must make
  5236. use of domains provided by a  more primitive TCB subset.  A less
  5237. primitive TCB subset may provide further execution domains but
  5238. is not required to do so.
  5239.  
  5240.  
  5241. Similarly,  the  TCB  must  provide  distinct address  spaces
  5242.   for  untrusted  processes.    A  most primitive  TCB  subset
  5243.  must  provide  distinct address spaces for  its subjects.  A
  5244. less  primitive TCB subset must make use of the distinct address
  5245. space provided by a  more primitive  TCB  subset.   A less  primitive
  5246. TCB subset may  provide more fine-grained  distinct address spaces,
  5247. but is not required to do so.  In    general,   requirements 
  5248.   specifically referring  to hardware  or firmware  apply only
  5249.  to TCB subsets  that include  hardware or  firmware.  However,
  5250. the  requirement that  the  TCB  make effective  use of hardware
  5251. requires that a less primitive TCB subset make effective  use
  5252.  of   the  protection-relevant  features exported to it by the
  5253. more primitive TCB subsets (e.g., execution domains, support for
  5254. distinct address spaces) to separate those elements that are protection-critical
  5255. from those that are not.
  5256. Statement from TCSEC
  5257.  
  5258.  
  5259.  
  5260. The TCB  shall maintain a domain  for its own execution that 
  5261. protects it from  external interference or tampering.
  5262. Interpretation
  5263.  
  5264.  
  5265.  
  5266. If  the  TCB  is  composed  of  multiple  TCB subsets, this requirement
  5267. applies to each TCB subset.
  5268. Statement from TCSEC
  5269.  
  5270.  
  5271.  
  5272. The  user  interface  to  the  TCB  shall  be completely  defined
  5273.   and  all  elements  of   the  TCB identified.
  5274. Interpretation
  5275.  
  5276.  
  5277.  
  5278. If the  TCB is composed of  multiple subsets, this requirement
  5279.  applies to the interface  between the TCB subsets as well as
  5280.  the user interface to the whole TCB.
  5281. Statement from TCSEC
  5282.  
  5283.  
  5284.  
  5285. It  shall  make  effective  use  of available hardware   to  
  5286. separate   those   elements   that  are protection-critical from
  5287. those that are not.
  5288. Interpretation
  5289.  
  5290.  
  5291.  
  5292. If the  TCB is composed of  multiple subsets, each TCB subset
  5293. must make use of facilities provided to it by  more primitive
  5294. TCB subsets, such  as support for execution domains  and for distinct
  5295. address  spaces, to achieve the required separation.
  5296. A1-3.1.2 SYSTEM INTEGRITY
  5297.  
  5298.  
  5299.  
  5300. This  requirement applies   as stated  in the TCSEC  to every
  5301.  TCB subset  that includes  hardware or firmware.   Any  TCB 
  5302. subset   that  does  not  include hardware or firmware is exempt
  5303. from this requirement.
  5304. A1-3.1.3 COVERT CHANNEL ANALYSIS
  5305.  
  5306.  
  5307.  
  5308. This requirement applies as stated  in the TCSEC to the entire
  5309. TCB.   When the TCB  is made up  entirely of TCB subsets meeting
  5310. the conditions for evaluation by parts, analysis of  the individual
  5311. TCB subsets  satisfies this requirement.  Otherwise, covert channel
  5312. analysis of the entire TCB  must be performed  (even if the  results
  5313. of covert channel  analysis of the individual  TCB subsets were
  5314. available).
  5315. A1-3.1.4 TRUSTED FACILITY MANAGEMENT
  5316.  
  5317.  
  5318.  
  5319. This  requirement applies   as stated  in the TCSEC   to   the
  5320.   entire   TCB.    Any  "operator"  or "administrator"
  5321.  functions intrinsic  to an  individual TCB subset must be supported
  5322. by that TCB subset or by a more primitive TCB subset.
  5323. A1-3.1.5 TRUSTED RECOVERY
  5324.  
  5325.  
  5326.  
  5327. This  requirement applies   as stated  in the TCSEC  to the  entire
  5328. TCB   and to  the individual  TCB subsets.  The  cooperative recovery
  5329. actions of  the TCB subsets making up the TCB must provide trusted
  5330. recovery for  the  overall  TCB.   Otherwise,  trusted  recovery
  5331. evaluation  must address  the entire  TCB (even  if the individual
  5332.  TCB  subsets   meet  the  trusted  recovery requirements).
  5333. A1-3.2 LIFE CYCLE ASSURANCE
  5334.  
  5335. A1-3.2.1 SECURITY TESTING
  5336.  
  5337.  
  5338.  
  5339. This  requirement applies   as stated  in the TCSEC  to the  entire
  5340. TCB.   If a  TCB consists  of TCB subsets meeting the conditions
  5341. for evaluation by parts, the satisfaction of the requirements
  5342. by each TCB subset satisfies   the  requirement    for  the  
  5343. entire  TCB.
  5344.  
  5345.  
  5346. Otherwise, security  testing of the entire  TCB must be performed
  5347.   (even  if   the  results   of  testing  the individual TCB subsets
  5348. were available).
  5349. A1-3.2.2 DESIGN SPECIFICATION AND VERIFICATION
  5350.  
  5351.  
  5352.  
  5353. This  requirement applies   as stated  in the TCSEC to every TCB
  5354.  subset, with the following specific additional interpretations.
  5355.  
  5356.  
  5357. It  must be   demonstrated that  the security policy enforced
  5358. by the  composite TCB is represented by the collection of policy
  5359.  models for the individual TCB subsets.
  5360.  
  5361.  
  5362. The argument  that the descriptive  top level specification (DTLS)
  5363. and formal top level specification (FTLS) are consistent with
  5364. the TCB interface applies to the  entire TCB.   There  is  required
  5365. an  explicit and convincing  description of  how  the  set of
  5366.  top level specifications (one for each  TCB subset) describes
  5367. the TCB  interface  in  terms  of  exceptions,  errors, and effects.
  5368. Statement from TCSEC
  5369.  
  5370.  
  5371.  
  5372. A  formal   model  of  the   security  policy supported by the
  5373. TCB shall  be maintained over the life cycle  of  the  ADP   system
  5374.  and  demonstrated  to  be consistent with its axioms.
  5375. Interpretation
  5376.  
  5377.  
  5378.  
  5379. If  the  TCB  is  composed  of  multiple  TCB subsets,  this 
  5380. requirement  applies  to  the  security policy of  each TCB subset.
  5381.  An  informal argument that the  set  of  policy  models  represents
  5382.  the "security policy  supported  by  the  [composite]  TCB"
  5383.  must  be provided.
  5384. Statement from TCSEC
  5385.  
  5386.  
  5387.  
  5388. A descriptive  top-level specification (DTLS) of  the TCB  shall
  5389.  be  maintained that  completely and accurately  describes the
  5390.  TCB in  terms of exceptions, error messages, and effects.
  5391. Interpretation
  5392.  
  5393.  
  5394.  
  5395. If  the  TCB  is  composed  of  multiple  TCB subsets, this  requirement
  5396. applies to the  DTLS of each TCB subset.  An informal argument
  5397. that the set of DTLSs accurately describes the TCB must be provided.
  5398.  
  5399.  
  5400. If there is a multifaceted policy (e.g., both mandatory  access
  5401.  control   and  discretionary  access control policies) in a 
  5402. particular TCB subset, then all facets must be  represented in
  5403. the DTLS and  in the TCB subset's model.
  5404. Statement from TCSEC
  5405.  
  5406.  
  5407.  
  5408. A  formal top-level  specification (FTLS)  of the TCB  shall be
  5409. maintained that  accurately describes the  TCB in  terms of  exceptions,
  5410. error  messages, and effects.
  5411. Interpretation
  5412.  
  5413.  
  5414.  
  5415. If  the  TCB  is  composed  of  multiple  TCB subsets, this  requirement
  5416. applies to the  FTLS of each TCB subset.  An informal argument
  5417. that the set of FTLSs accurately describes the TCB must be provided.
  5418.  
  5419.  
  5420. If there is a multifaceted policy (e.g., both mandatory  access
  5421.  control   and  discretionary  access control policies) in a 
  5422. particular TCB subset, then all facets must be  represented in
  5423. the FTLS and  in the TCB subset's model.
  5424. Statement from TCSEC
  5425.  
  5426.  
  5427.  
  5428. The  FTLS shall  be shown  to be  an accurate description of the
  5429. TCB interface.
  5430. Interpretation
  5431.  
  5432.  
  5433.  
  5434. If the  TCB is composed of  multiple subsets, this requirement
  5435.  applies to the interface  between the TCB  subsets as well  as
  5436. to the  user interface of  the composite  TCB.  The   TCB interface
  5437.  description shall include an explanation of how to describe the
  5438. total TCB accurately, in  the context of the  multiple TCB subset
  5439. DTLSs.
  5440. Statement from TCSEC
  5441.  
  5442.  
  5443.  
  5444. A convincing argument shall be given that the DTLS is consistent
  5445. with the model.
  5446. Interpretation
  5447.  
  5448.  
  5449.  
  5450. If  the  TCB  is  composed  of  multiple  TCB subsets,  this requirement
  5451.   applies to  individual TCB subsets.  Enforcement of all  policies
  5452. must be shown to occur  in  all  situations  (e.g.,  state  transitions)
  5453. required by  the formal security policy  model.  In the case 
  5454. of  a  discretionary  access  control policy, the presence of
  5455. the access  control check at all identified state transitions
  5456. is the total  of what is required for demonstrating  consistency
  5457.  between  the  DTLS  and the model.  This may be verified  by
  5458. inspection of the DTLS (that  is, by  visually checking  that
  5459. exception checks required by  the model are  present in the  DTLS).
  5460.  For the mandatory  access control policy, the  DTLS must be shown
  5461.  by a convincing  argument to be  consistent with the model.
  5462. Statement from TCSEC
  5463.  
  5464.  
  5465.  
  5466. .  .  .  a combination of formal and informal techniques  shall
  5467. be  used to   show that  the FTLS  is consistent with the model.
  5468. Interpretation
  5469.  
  5470.  
  5471.  
  5472. If  the  TCB  is  composed  of  multiple  TCB subsets,  this requirement
  5473.   applies to  individual TCB subsets.  Enforcement of all  policies
  5474. must be shown to occur  in  all  situations  (e.g.,  state  transitions)
  5475. required  by the  formal security  policy model  at the required
  5476.  occasions.  In  the case  of a  discretionary access  control
  5477.  policy,  the  presence  of  the access control  check at  all
  5478. identified  state transitions is the  total  of  what   is  required
  5479.  for  demonstrating consistency between  the FTLS and the  model.
  5480.  This may be  verified by  inspection of  the FTLS  (that is,
  5481.  by visually checking that exception checks required by the model
  5482.  are present  in  the  FTLS).  For  the mandatory access  control
  5483. policy,  the FTLS  must be  shown by  a combination  of formal
  5484.  and informal  techniques to  be consistent with the model.
  5485. A1-3.2.3 CONFIGURATION MANAGEMENT
  5486.  
  5487.  
  5488.  
  5489. This  requirement applies   as stated  in the TCSEC  to  every
  5490.  TCB  subset  in  the  TCB,  with  the following additional interpretation.
  5491.  
  5492.  
  5493. Because subsets  of the TCB may  be developed independently, a
  5494. single configuration management system may  not  be  feasible.
  5495.   However,  the  combination of configuration  management systems
  5496.  used to  support all the TCB subsets must  meet all the stated
  5497. requirements.  The  information describing the  interrelations
  5498. between separate  TCB  subsets  and  separate  security  policy
  5499. models  falls into  the category  of "all documentation and
  5500.  code associated  with the  current version  of the TCB"
  5501. in the TCSEC requirements.
  5502. A1-3.2.4 TRUSTED DISTRIBUTION
  5503.  
  5504.  
  5505.  
  5506. This  requirement applies  as stated  in the TCSEC to the  entire
  5507. TCB.  It can be  met by satisfying the  requirements  for  each
  5508.  TCB  subset if procedures exist for  assuring that all  TCB subsets
  5509. upon  which a particular  TCB  subset  depends  (that  is,  the
  5510.  more primitive TCB subsets) are  exactly the same version as
  5511. specified for the TCB subset in question.
  5512. A1-4 DOCUMENTATION
  5513.  
  5514. A1-4.1 SECURITY FEATURES USER'S GUIDE
  5515.  
  5516.  
  5517.  
  5518. This  requirement applies   as stated  in the TCSEC to every TCB
  5519. subset  in the TCB.  This collection of guides must include descriptions
  5520. of every TCB subset in  the  TCB  and  explicit  cross-references
  5521.  to other related  user's   guides  to  other  TCB   subsets,
  5522.  as required.  In addition, interactions between mechanisms within
  5523. different TCB subsets must be clearly described.
  5524. A1-4.2 TRUSTED FACILITY MANUAL
  5525.  
  5526.  
  5527.  
  5528. This  requirement applies   as stated  in the TCSEC to the TCB
  5529. and to every TCB subset in the TCB. This  requirement can  be
  5530. met  by providing a set of manuals, one  for each distinct (non-replicated)
  5531. TCB  subset.  Each  manual shall  address the functions and privileges
  5532. to be  controlled for the associated TCB subset.   Additionally,
  5533.   it  must  clearly   show  the interfaces to, and the interaction
  5534. with, more primitive TCB  subsets.  The  manual  for  each TCB
  5535.  subset shall identify  the  functions  and  privileges  of  the
  5536.  TCB subsets  on which  the associated  TCB subset  depends. 
  5537. Also, the TCB subset's  manual shall identify which, if any, 
  5538. configuration options  of the  more primitive TCB subsets are
  5539. to be used for the composite TCB to operate securely.
  5540.  
  5541.  
  5542. Any   pre-defined   roles   supported  (e.g., database  administrator)
  5543.  by  the  TCB  subset shall be addressed.  The means for correlating
  5544. multiple audit logs and synonymous  user identifications from
  5545.  multiple TCB subsets (if such exist) shall also be addressed.
  5546.  
  5547.  
  5548.  
  5549. The  trusted facility  manual shall  describe the  composite TCB
  5550. so  that the interactions  among the TCB subsets  can be readily
  5551. determined.   Other manuals may be  referenced in this determination.
  5552.   The manuals that address  the distinct modules  of the TCB 
  5553. and the generation of  the TCB need  to be integrated  with the
  5554. other trusted facility manuals  only to the extent that they are
  5555. affected by the  use and operation (versus the development) of
  5556. the composite TCB.
  5557.  
  5558.  
  5559. The  TCB modules  that contain  the reference validation  mechanism
  5560. must  be associated  with the TCB subset  to  which  they   belong.
  5561.   The  procedure  for generating  a  new  TCB  after  modifying
  5562.  only one (or several)  TCB subsets must  be described.  This
  5563.  may be accommodated   by  independent   regeneration  of   the
  5564. individual TCB  subsets or by regeneration  of only the affected
  5565. TCB subsets.
  5566. A1-4.3 TEST DOCUMENTATION
  5567.  
  5568.  
  5569.  
  5570. This  requirement applies   as stated  in the TCSEC to the composite
  5571. TCB.
  5572. A1-4.4 DESIGN DOCUMENTATION
  5573.  
  5574.  
  5575.  
  5576. This  requirement applies   as stated  in the TCSEC to the composite
  5577. TCB, with the following specific additional interpretations:
  5578.  
  5579.  
  5580. Requirements  concerning   models,  FTLS  and DTLS, apply to individual
  5581. TCB subsets.
  5582.  
  5583.  
  5584. The requirement concerning the description of interfaces  between
  5585.  modules  of  the  TCB includes the interfaces between TCB subsets.
  5586.  
  5587.  
  5588. The documentation of  the implementation of a reference    validation
  5589.    mechanism    must    include justification for meeting the
  5590. conditions for evaluation by parts.
  5591.  
  5592.  
  5593. The   A1  requirement  to   describe  clearly non-FTLS internals
  5594. of the TCB applies to TCB subsets.
  5595. Statement from TCSEC
  5596.  
  5597.  
  5598.  
  5599. The interfaces between  the TCB modules shall be described.
  5600. Interpretation
  5601.  
  5602.  
  5603.  
  5604. If the  TCB is composed of  multiple subsets, this  requirement
  5605. applies  to each  TCB subset  and the interfaces between TCB subsets.
  5606. Statement from TCSEC
  5607.  
  5608.  
  5609.  
  5610. The specific TCB  protection mechanisms shall be  identified and
  5611.  an explanation  given to  show that they satisfy the model.
  5612. Interpretation
  5613.  
  5614.  
  5615.  
  5616. If the  TCB is composed of  multiple subsets, this requirement
  5617.  applies to each TCB  subset and shall include  the protection
  5618.   mechanisms which  support the  conditions  for  TCB   subset
  5619.  structure  and  separate subset-domains.
  5620. Statement from TCSEC
  5621.  
  5622.  
  5623.  
  5624. The   descriptive   top-level   specification (DTLS) shall be
  5625. shown to  be an accurate description of the TCB interface.
  5626. Interpretation
  5627.  
  5628.  
  5629.  
  5630. If the  TCB is composed of  multiple subsets, this requirement
  5631.  applies to the interface  between the TCB  subsets as well  as
  5632. to the  user interface of  the composite  TCB.  The   TCB interface
  5633.  description shall include an explanation of how to describe the
  5634. total TCB accurately, in  the context of the  multiple TCB subset
  5635. DTLSs.
  5636. Statement from TCSEC
  5637.  
  5638.  
  5639.  
  5640. Documentation  shall  describe  how  the  TCB implements  the
  5641. reference  monitor concept  and give an explanation  of why it
  5642.  is tamper resistant,  cannot be bypassed, and is correctly implemented.
  5643. Interpretation
  5644.  
  5645.  
  5646.  
  5647. If  the  TCB  is  composed  of  multiple  TCB subsets,  this requirement
  5648.  is interpreted  to apply to each TCB subset with  respect to
  5649. its specific technical policy.   In  addition,  there  must  be
  5650.  documented an informal  argument that  the cooperative  action
  5651. of the TCB  subsets  makes  the  TCB  itself tamper resistant,
  5652. non-bypassable, and correct.
  5653. Statement from TCSEC
  5654.  
  5655.  
  5656.  
  5657. The  TCB implementation  shall be  informally shown to be consistent
  5658. with the DTLS.
  5659. Interpretation
  5660.  
  5661.  
  5662.  
  5663. If  the  TCB  is  composed  of  multiple  TCB subsets,  this requirement
  5664.  is interpreted  to apply to individual TCB subsets.
  5665. Statement from TCSEC
  5666.  
  5667.  
  5668.  
  5669. The  TCB implementation  shall be  informally shown to be consistent
  5670. with the FTLS.
  5671. Interpretation
  5672.  
  5673.  
  5674.  
  5675. If  the  TCB  is  composed  of  multiple  TCB subsets,  this requirement
  5676.  is interpreted  to apply to individual TCB subsets.
  5677. Statement from TCSEC
  5678.  
  5679.  
  5680.  
  5681. Documentation shall  describe how the  TCB is structured to  facilitate
  5682. testing and to  enforce least privilege.
  5683. Interpretation
  5684.  
  5685.  
  5686.  
  5687. If the  TCB is composed of  multiple subsets, this requirement
  5688. is interpreted  to apply to individual TCB subsets as well as
  5689. to the overall TCB. 
  5690.  APPENDIX  B 
  5691.  
  5692.  
  5693.  
  5694. GENERAL ITEMS
  5695. 1. PERSPECTIVE ON ASSURANCE
  5696.  
  5697.  
  5698.  
  5699. This   Trusted  Database   Management  System Interpretation 
  5700. (TDI) of   the Trusted  Computer System Evaluation Criteria (TCSEC)
  5701.  derives its perspective on assurance directly  from the reference
  5702.  monitor concept as recorded in the Anderson  Report [1] and as
  5703. embodied in  the TCSEC.  In  both the reference  monitor concept
  5704. and in the TCSEC, the  assessment of a system for trust characteristics
  5705. involves a single, global review of the system  at issue.   That
  5706. same  perspective of  an even, global   review  of    a  candidate
  5707.   trusted  database management system (DBMS) is present in the
  5708. TDI, in that only   complete   systems   will   be   considered
  5709.  for assessment.   That  is,  neither  software  packages in isolation
  5710. nor systems that satisfy only a subset of the TCSEC.  requirements
  5711. will  be considered for evaluation or accreditation.  The  interpretation
  5712. of requirements, both  in  Part  1,  "Technical  Context,"
  5713.  and  Part 2, "Interpreted  Requirements,"  is  consistent
  5714.  with both community experience in designing and assessing trusted
  5715. systems,  and the  precedents of  the reference monitor concept
  5716. and the TCSEC.  The interpretations, therefore, provide special
  5717. guidance for the task of evaluating (or accrediting)    candidate
  5718.     systems    composed    of distinguishable  parts.   However,
  5719.  the interpretations neither attenuate nor delete TCSEC requirements.
  5720.  
  5721.  
  5722. It is  worth noting that the  introduction of the TCSEC  with
  5723. its metric for the  evaluation of whole systems had as one goal
  5724.  the simplification of the task of  accrediting   computer  systems
  5725.  for  use   in  the processing  of sensitive  information.  The
  5726.  evaluation process was  not intended to replace  the accreditation
  5727. process but to provide input  to that process.  It must be  recognized
  5728.  that  there  will  be  occasions when a fielded  suite  of  computer
  5729.  systems,  each  evaluated against the  TCSEC requirements at
  5730. a  particular class, will not be  able to be assigned a TCSEC
  5731.  class, nor is it  necessary to  be able  to make  such an assignment.
  5732.  The accreditation  decision includes the  assessment of risk
  5733.  of   a  particular  system  configuration   in  a particular
  5734. environment;  a decision to connect  a suite of TCSEC evaluated
  5735. systems may  have to be made without a  uniformly  applied  TCSEC-like
  5736.  assessment  over the entire system.
  5737. 2. PROCUREMENT OPTIONS
  5738.  
  5739.  
  5740.  
  5741. The   Trusted  Computing   System  Evaluation Criteria  (TCSEC)
  5742.  and  its  published interpretations, including  this  Trusted
  5743.   Database  Management  System Interpretation,   have  as    a
  5744.  primary   purpose  the  "provision  [of]   a  basis  for
  5745.   specifying  security requirements  in acquisition  specifications."
  5746.  [8,  p.  2] In the area of trusted DBMS and trusted systems that
  5747. include database  management functionality, there  is a range
  5748. of  options open to an  acquisition organization.  These options
  5749. need to  be understood by the acquisition managers  and their
  5750. staffs  to allow them  the greatest possible    flexibility  
  5751.  in    matching   operational requirements with  a combination
  5752. of  available products and  the state  of the  art in  system
  5753. integration  and development.
  5754.  
  5755.  
  5756. The  fundamental  point  is  the  distinction between the  target
  5757. trust class  (that is, C1,  C2, B1, B2, B3, or A1) needed for
  5758. a particular installation and the  degree  of  trusted  DBMS 
  5759. functionality  that  is required.   Succinctly,   a  system  that
  5760.   requires  a particular  level of trust  (B2, for example)  and
  5761. DBMS  functionality does not necessarily require an evaluated
  5762. trusted  DBMS at  the level   of B2.   In fact,  if the statement
  5763. of required capability allows it, meeting the requirement   without
  5764. a trusted  DBMS could well  be the preferred  risk-reducing approach.
  5765.   This is  generally true  because the  more sophisticated  the
  5766. trusted DBMS requirement,  the more  likely it  is that  the current
  5767. vendor  base will  not be   able to  supply the  needed functionality
  5768. (with  the requisite assurance)  from the normal product line.
  5769.  Further,  even if one can specify carefully  just what  additional
  5770. assured  capability is needed  so that  a program-specific  development
  5771. can be undertaken,  the  lack   of  community  experience  and
  5772. consensus   on advanced trusted  DBMS issues  and implementations
  5773.    introduces    the    potential   for
  5774.  
  5775.  
  5776. significant programmatic, schedule, and cost risks.
  5777.  
  5778.  
  5779. Although  a full  description of  options for the  acquisition
  5780. manager  is beyond  the scope  of this document, a  representative
  5781. description of some  of the options  that could  be considered
  5782.  is included  below.  The  options  include  (1)  multiple  copies
  5783.  of a DBMS running   at   different   levels,   each   maintaining
  5784. single-level  databases; (2) a  single copy of  a DBMS, but  
  5785. with  each   database  maintained   at  a  single sensitivity
  5786.  level (i.e.,  no sharing  of data  between databases); (3)  a
  5787. single copy supporting  single level databases,  but  with  limited
  5788.  sharing,  perhaps  of a "snapshot" nature;  and (4)
  5789. DBMSs that  allow databases that include data of  several sensitivity
  5790. levels.  This option admits  of subcases from the very  simple
  5791. to the very complex.
  5792.  
  5793.  
  5794. To  illustrate  the   options  listed  above, consider a command
  5795. post  where a commander's staff uses a  single computer system.
  5796.   Included on the  staff are logistics,  weather,  and  intelligence
  5797.  organizations, each  dealing with  information of  differing
  5798. (maximum) sensitivity.    If  all  three   organizations  require
  5799. similar  DBMS functions,  there might  be a  variety of ways to
  5800. provide that functionality.
  5801.  
  5802.  • (1) If the product DBMS-1 suited the needs of each of the
  5803. organizations and there were no requirement to share data between
  5804. them, then three copies of DBMS-1 could  be used,  running at,
  5805.  for example,  TOP SECRET, SECRET, and CONFIDENTIAL, respectively,
  5806. and maintaining separate single-level databases.  If the organizational
  5807. missions  do  not   require  multilevel  operations  or sharing,
  5808. this  option could be perfectly  suited to the operational need.
  5809.   In this case, every  copy of DBMS-1 would be running as an 
  5810. application outside the TCB and would  not have to  be evaluated
  5811. at  all, neither as  a product nor  as a developed system.   The
  5812. advantages of this option are  that commercial, off-the-shelf
  5813. systems can be  used (both the DBMS and  the underlying trusted
  5814. operating system)  and no evaluation risk  is entailed.
  5815.  
  5816.  
  5817.  
  5818.  
  5819.  
  5820.  
  5821.  
  5822. The disadvantages  are the limited flexibility  and the
  5823. hidden fact  that the installation procedures  for many
  5824. DBMSs require  the insertion of code into  the heart of the underlying
  5825.  computer system, insertions  that would undermine  the   evaluation
  5826.  rating   and  thus  theconfidence in the trusted operating system.
  5827.  
  5828.  • (2) A cost advantage could be realized in the preceding  case
  5829. if there  were a product,  DBMS-2, such that a single copy  could
  5830. provide DBMS functionality at all  three levels.   This capability
  5831.  requires that the base trusted  operating system and the  DBMS
  5832. itself are designed so  that the DBMS  code uses scratch  space
  5833. to allow the  code to be shared without  the potential for mixing
  5834. control or metadata  in workspaces, indices, and stacks.  Not
  5835.  all commercial DBMSs have  this property, so this  option will
  5836. be  less available than  case (1).  Note that  in this case also,
  5837.  the databases themselves are  single-level and  the workspace
  5838.  used by  the DBMS itself will have to be single-level.
  5839.  
  5840.  
  5841.  
  5842.  
  5843. (3) If the  operational requirements are that the intelligence
  5844. and  logistics organizations must have access  to the weather
  5845.  data maintained by  the weather organization, the simplest  technical
  5846. solution would be to  periodically  provide  a  snapshot  of 
  5847. the  needed weather data  for use by the  other organizations.
  5848.  The database management system DBMS-2 above could provide a solution
  5849.  in this  case if   a portion  of the  weather database  could
  5850. be copied  onto diskette (or  even into another   file)   for
  5851.   the other organizations  to incorporate  into  their   own 
  5852. DBMS  operations.   The disadvantage of  this approach is that
  5853.  the information will not be as current as that available to the
  5854. weather organization itself.  Frequently, however, that lack of
  5855. currency  may be  a reasonable   price to  pay for  the enormous
  5856. reductions in cost and risk in procurement and maintenance.
  5857.  
  5858.  
  5859. (4) If the  operational requirements will not allow   anything
  5860.  less    than  real-time   sharing  of information,  then DBMS-2
  5861.  will not  be sufficient.  At this  point, the  operational requirements
  5862.  have forced the inclusion  of the most sophisticated  solution
  5863. to a trusted   system  with    DBMS  requirements,   a  true multilevel
  5864. DBMS.   In this case, it  remains a valuable goal to minimize
  5865. the  complexity of the needed sharing.  If  the DBMS  is providing
  5866.  a functionality  that looks like  tables to the  user, then it
  5867.  is less complex  if each table  is at a single  level than if
  5868. each  row (or each column) could be at a different sensitivity
  5869. level.  The most  complex situation is  when each entry  in the
  5870. table  could  be  at  a  different  sensitivity  level.  During
  5871.  the  procurement  and  development  process, it would  be worthwhile
  5872.  to structure  the procurement  to favor solutions  that are as
  5873. simple as  possible from a multilevel trusted DBMS standpoint.
  5874. 3. ALTERATION OF PREVIOUSLY EVALUATED TCB
  5875.  
  5876.  
  5877.  
  5878. The discussion in Part 1, "Technical Context" arose
  5879. from consideration of  the conditions under which it is possible
  5880.  to add an application layer,  such as a DBMS,  to another  TCB
  5881. in  such a  way as  to allow the system rating to be determined
  5882. by evaluating the system elements (i.e.,  the subsets) separately.
  5883.   The benefit to  both  the  applications  vendor  and the evaluators
  5884. derives  from the  fact that  the DBMS  operates as  an untrusted
  5885. subject relative to  the underlying TCB (even though the  DBMS
  5886. enforces its own  policy).  Therefore, there  is  no  need  to
  5887.  re-examine previous evaluation evidence;  any   and  ll  actions
  5888.  performed   by  the application   layer  are   completely  constrained
  5889.   in accordance  with the  security policy  defined for  the underlying
  5890. TCB.
  5891.  
  5892.  
  5893. The   savings   in   evaluation   effort   is predicated  on the
  5894.  assumption that  the vendor  of the application layer  makes
  5895. no changes of any  kind to the other TCB.  In effect, the  argument
  5896. made by the vendor is as follows:
  5897. (a) The underlying  TCB enforces policy P[i].
  5898.  
  5899.  
  5900.  
  5901. The validity of the claims about the underlying TCB has already
  5902. been established, and these claims remain valid because the underlying
  5903. TCB has  not been altered in any way and  because the DBMS is
  5904.  completely constrained by that  policy  (i.e.,  P[i]  cannot
  5905.  be  violated by any action of the DBMS).
  5906.  (b) The application is a TCB subset which enforces policy
  5907. P[k]
  5908.  
  5909.  
  5910.  
  5911. Thus,  the   policy  enforced   by  the composite system (i.e.,
  5912. the policy enforced at the user interface of the composite TCB)
  5913. is merely a combination of the policies of the individual TCB
  5914. subsets.
  5915.  
  5916.  
  5917. Because   there   is   neither   theory   nor experience which
  5918.  allows one to make  general, a priori statements about the effects
  5919.  of arbitrary changes, any alterations to a previously  evaluated
  5920. product must, in general,  be considered  to result  in a  product
  5921. whose security attributes, and thus whose rating, is unknown.
  5922.  Thus, if  the previously evaluated product  is altered, argument
  5923. (a)  cannot be made merely  by referencing the published   evaluation
  5924.   report.     It   becomes   the responsibility of the DBMS  vendor
  5925. to state P[i] (i.e., identify  the policy  enforced by  the altered
  5926. product) and  to demonstrate  that the  implementation satisfies
  5927. the  appropriate TCSEC  requirements.  Hence,  at least some evaluation
  5928. evidence focused  on the underlying TCB must  be  provided  by
  5929.  the  vendor  of the application layer.   The  amount  of   evidence
  5930.  required  will  be determined by  the type, extent, and  amount
  5931. of change, as well as the characteristics of the original TCB.
  5932.  
  5933.  
  5934. This  is not  to say,  however, that  changes always  invalidate
  5935.  all  previous  evaluation evidence. Rather,  that there  is no
  5936.  way to  predict what effect arbitrary change will have  on that
  5937. evidence.  Clearly, some changes will invalidate a substantial
  5938. part, if not all,  of the  previous evaluation  results, requiring
  5939. a completely  new evaluation.  In  some cases it  will be virtually
  5940.  impossible to  determine the  full effect of even  relatively
  5941.  simple   changes,  whereas  in  other instances it  may be possible
  5942. to  determine the effects of  at  least  some  changes  quite
  5943.  precisely.   In  a well-modularized system, changes to  the internals
  5944. of a module might be shown to have no functional or security effect
  5945.  outside of  the  module.   Even changes  to the module that alter
  5946. its interface  might be shown to have effects  which do  not propagate
  5947.  beyond those  modules which have a direct interface to the altered
  5948. module.
  5949.  
  5950.  
  5951. In  either   case  however,  at   least  some evidence must be
  5952. produced about the underlying, altered TCB.  Thus, the vendor
  5953. who  alters the product which is hosting his application becomes
  5954. responsible for any and all evidence required to  substantiate
  5955. the claims being made for both the application and the underlying
  5956. TCB.
  5957.  
  5958.  
  5959. In fact, it is always  the case that the DBMS vendor is responsible
  5960. for  all the evidence required to demonstrate   that  the   system
  5961.  (i.e.,   the  trusted components of the application  plus the
  5962. underlying TCB) has the level of trust claimed  for it.  In the
  5963. case of strict subsetting for evaluation by parts, in which the
  5964. application    is    layered    onto    an   unaltered, previously-evaluated
  5965.  TCB,  part  of  the  evidence  is  satisfied   by  referencing
  5966.  the   previous  evaluation results  and the  commercially-available
  5967. specifications for  that  portion  of  the  system.   However,
  5968.  if the previously   evaluated  TCB   has  been   altered,  the
  5969. applications    vendor   is    now   responsible    for demonstrating
  5970. that the underlying  TCB has the level of trust being claimed
  5971.  for it.  How much, if  any, of the previous evaluation evidence
  5972. is still valid is a matter to be resolved.
  5973.  
  5974.  
  5975. The development of  the subsetting notion has been motivated by
  5976. the need for evaluating systems whose elements may have been 
  5977. developed by different vendors.  Consequently,  the discussion
  5978.  of TCB  subsets has been largely  focused on the  topic of extending
  5979.  the policy enforcement  attributes of  previously evaluated 
  5980. TCBs.  However,  the  notion  of  TCB  subsetting  provides  a
  5981. perfectly  general   design  method.   A  TCB   can  be structured
  5982. and policy enforcement allocated to simplify both analysis and
  5983. evaluation.   To the extent that each TCB  subset   in  a  subsetted
  5984.  system   satisfies  the conditions  of TC-4.3,  the evaluation
  5985.  can be factored along  policy lines,  and  a  rating for  the
  5986. composite system determined.
  5987. 4. SATISFYING RVM REQUIREMENTS
  5988.  
  5989.  
  5990.  
  5991. The evaluation of a  system whose TCB is made up of a set of TCB
  5992.  subsets follows a logical flow that makes  it  an  orderly  process.
  5993.   The  initial step is satisfying  the  conditions  for  evaluation
  5994.  by parts.  Those conditions are as follows:
  5995.  
  5996.  
  5997. Identification  of  the   candidate  TCB subsets;
  5998.  
  5999.  
  6000. Allocation  of   the  policy  (the  clear statement  of the  technical
  6001. policies  enforced by  the individual TCB subsets, stated in terms
  6002. of the subjects and objects for that TCB subset);
  6003.  
  6004.  
  6005. Demonstration  that  each  candidate  TCB subset contains its
  6006. own trusted subjects;
  6007.  
  6008.  
  6009. Specification of the  structure of the TCB subsets (as a collection
  6010. of abstract machines);
  6011.  
  6012.  
  6013. Identification of  sets of domains (called "subset-domains")
  6014.  assigned for   the execution  of the individual TCB subsets;
  6015. and
  6016.  
  6017.  
  6018. Identification of what  externally stated properties  of  TCB
  6019.  subsets  will  be  used  to  argue convincingly  and independently
  6020.  for the  RVM nature of each of the constituent TCB subsets.
  6021.  
  6022.  
  6023. The  successful  completion   of  this  step, especially the "support
  6024. for  RVM arguments" will result in a conditional approval
  6025. of two items:  a set of goals in the evaluation of the more primitive
  6026. TCB subsets and the  feasibility  of  being   able  to  argue
  6027.  the  RVM properties of less primitive  TCB subsets using no more
  6028. information about  the more primitive TCB  subsets than the identified
  6029. goals.  The goals for the more primitive TCB   subsets   will
  6030.   be    a   set   of   mechanisms, characteristics,  or properties
  6031.  whose proper,  assured functioning will have to be demonstrated.
  6032.  Examples are domain    mechanisms,   mandatory    integrity 
  6033.  policy enforcement  mechanisms,  and  a  special  category  of
  6034. object with associated content-preservation guarantees.  These
  6035. mechanisms  or characteristics or  properties are strictly  a
  6036. function of  the more primitive  TCB subset and  will  have  to
  6037.  be  evaluated  and  approved  in a (possibly) later  part of
  6038. the evaluation  process.  The conditional approval of the feasibility
  6039. of constructing an  independent  RVM  argument  for  less primitive
  6040. TCB subsets  relies on  an interplay  between the  proposed mechanisms
  6041.  of the  more primitive  TCB subset  and the anticipated  needs
  6042. of  the  RVM  argument for  the less primitive TCB subset.
  6043.  
  6044.  
  6045. The  next steps   of the  evaluation process, with  regards  to
  6046.  the  reference  validation mechanism requirements, involve the
  6047. independent evaluation of the TCB subsets.  TCB subsets  that
  6048. have been identified as providing  features or  mechanisms on
  6049.  which other  TCB subsets  will rely  for RVM  arguments will
  6050.  have to be demonstrated to provide the  stated mechanisms with
  6051. the same level of assurance  as the target evaluation class of
  6052. the entire system.  If all the identified mechanisms can  be 
  6053. validated,  the  conditional  approval  of the  "support
  6054. for RVM arguments" condition remains unchanged.   If  some
  6055.   mechanism  cannot  be  properly established  from either  a
  6056. functional  or an assurance perspective,  then  the  conditional
  6057.  approval  of that portion of the "support" condition
  6058. is withdrawn and the evaluation effort must regroup.
  6059.  
  6060.  
  6061. TCB subsets that were projected to be able to complete RVM arguments
  6062. successfully  using no more than the identified  "support"
  6063. mechanisms and  features will have to  have full RVM arguments
  6064.  advanced and accepted  by  the  evaluation  team.   There  are
  6065.  three possible outcomes:  (1) it could be shown that the TCB
  6066. subset in question  does not  meet the  RVM requirements;  (2)
  6067. it could  be shown,  using the  external descriptions  and assurances
  6068. of the mechanisms  of the more primitive TCB subsets, that  the
  6069. less primitive TCB  subset does meet the RVM requirements; or
  6070. (3)  it might be impossible to determine  whether  or  not  the
  6071.  TCB  subset meets the requirements.   In case (1),  the TCB subset
  6072.  failed to meet  its reference  validation mechanism  requirements
  6073. and the design team must regroup.  In case (2), the TCB subset
  6074.  satisfies  its  reference  validation mechanism requirements.
  6075.  In case (3), the conditional approval of the  "support 
  6076. for  RVM  arguments"  condition  will be withdrawn and the
  6077. design and evaluation teams will have to agree on an alternate
  6078. course of action.
  6079.  
  6080.  
  6081. In the case that  an attempt to establish RVM properties for a
  6082. less primitive TCB subset could not be completed  (case  (3) 
  6083. above),  it  might  well be that additional mechanisms or features
  6084. of the more primitive TCB  subset  would  allow   the  RVM  arguments
  6085.  to  be completed successfully.   In that case,  the evaluation
  6086. team and the design team would have to establish a new, augmented
  6087.   set  of    mechanisms  for   the  "support" condition.
  6088.  The evaluation could then continue with the new  mechanism requiring
  6089.  validation by  the evaluation team  and the  argument for  the
  6090. RVM  properties of the less primitive TCB subset having to be
  6091. re-attempted.
  6092.  
  6093.  
  6094. It is  important to note that  the dependency of  the  less  primitive
  6095.  TCB  subsets  on  the assured policies  and   RVM  supporting
  6096.  mechanisms   makes  it imperative that the evaluation of the
  6097. whole TCB be done by   a  single   evaluation  team   through
  6098.  the  final determination  that the  system complies  with the
  6099. full
  6100.  
  6101.  
  6102. set  of requirements  for the  target class.   Thus, in particular,
  6103. an evaluation team addressing an evaluation by parts (including
  6104.  the case of a TCB  subset that has been previously  evaluated
  6105. and placed on  the EPL) must be  kept  together  for  the  entire
  6106. evaluation.  Local evaluation   of  one   TCB  subset   does 
  6107. not  justify dissolving  the  responsible  subteam.   Later results,
  6108. global or local to another  TCB subset, could require a full 
  6109. evaluation team  current  on  all aspects  of the evaluated  configuration.
  6110.   This   does  not  mean,  of course,  that  the  original   evaluation
  6111.  team  for  a previously evaluated EPL product has to be reassembled.
  6112.  A  new  team,  part  of  which  may  be delegated prime responsibility
  6113. for  that TCB subset, suffices,  as long as  the  full  team 
  6114. is  kept  together  for  the whole evaluation.
  6115. 5. SUBSET DEPENDENCY
  6116.  
  6117.  
  6118.  
  6119. For  candidate TCB  subset M,  sM denotes the specification  of
  6120.  M,  including   as  a  minimum,  the statement of the technical
  6121. policy  P of M.  The term vM denotes   the  (engineering)   demonstrations
  6122.  of   the correctness of the implementation  of M with respect
  6123. to its specification.  A (candidate) TCB subset A "depends
  6124. (for its  correctness)" on (candidate) TCB  subset B if and
  6125.  only  if  the   arguments  within  vA  assume  the correctness
  6126. of the implementation  of B with respect to sB.
  6127.  
  6128.  
  6129. In less  precise terms, the  specification sM defines what M is
  6130. supposed  to do.  M does whatever its implementation  allows,
  6131. features  and all.   How well M does  compared  to  what  sM 
  6132.  says  it  should  do  is encompassed  in the  engineering arguments
  6133.  vM.  If, in the argument vA, one has to  assume that all or part
  6134. of sB accurately  describes what B does, A  "depends"
  6135. on B for its correctness.
  6136. Example 1:  Use of Provided Objects
  6137.  
  6138.  
  6139.  
  6140. Suppose  TCB subset  B provides  "file" as  a mediated
  6141.  object under  its technical  policy P[B]  and that candidate
  6142. TCB subset A  uses B-files to store data and  executables.  If
  6143. vA  uses the fact  that different B-files are distinct and  access
  6144. to them is constrained by  the  technical  policy  P[B]  (assumptions
  6145. that are nearly  certain to  apply), then  vA is  relying on the
  6146. fact that sB and B match and in this case, A depends on B.
  6147. Example 2:  Mutually Suspicious Systems
  6148.  
  6149.  
  6150.  
  6151. Suppose  A  and  B  are  mutually  suspicious airline    reservation
  6152.    systems    hosted    in   two interconnected   systems  belonging
  6153.  to   two  distinct organizations.   It  is  assumed  that  sA
  6154.  and sB both provide  for a  capability to  accept reservations
  6155. over the  network from  "foreign" systems  using a 
  6156. mutually defined  protocol.   The   protocol  is  carefully  and
  6157. completely specified  (within both sA and  sB) and both vA  and
  6158.  vB  demonstrate,   to  the  desired  level  of satisfaction,
  6159. that A and B  are correct with respect to sA  and sB,  respectively.
  6160.  A  does not  depend for its correctness on B because  sA is complete:
  6161.  for whatever sequence  of  bits  it  receives  from  B, sA specifies
  6162. exactly   what  behavior   A  must   exhibit,  and   vA demonstrates
  6163.  that  it   does  exhibit  that  behavior. Similarly,   B  does
  6164.   not  depend   upon  A   for  its correctness.  Neither A nor
  6165. B depends on the other.
  6166.  
  6167.  
  6168. There may well exist a "system specification" that 
  6169. specifies  the  desired  behavior  of  the entire system, but
  6170. that is irrelevant  to the arguments that A and  B are individually
  6171.  correct with respect  to their own specifications.  It may even
  6172.  be the case that both A  and B are  individually correct, while
  6173.  the combined system  is  incorrect  with   respect  to  the 
  6174. "system specification."  That is, two correct subsystems
  6175. can be combined improperly with respect to the desired "system
  6176. specification."
  6177. Example 3:  Use of Remotely Provided Functionality
  6178.  
  6179.  
  6180.  
  6181. Suppose A  is a mail  server and B  a generic SQL DBMS.  The specification
  6182.  sA (as might be expected) makes  no mention  of a  DBMS; it 
  6183. simply specifies the interface behavior  (to its human clients)
  6184.  of the mail system.  In vA, however, we  find that the software
  6185. for A uses tables provided by B to store messages.  A and B are
  6186. on  separate, interconnected machines.   Neither sB nor vB make
  6187.  mention of the mail system at  all.  As in the  preceding  example,
  6188.  sB  completely  specifies the behavior  of  B  for  all  received
  6189.  bit  patterns  and sequences.   Here, A  depends upon  B, but
  6190.  B does  not depend on A.  Note that data flow in both directions
  6191. is completely  legitimate and  does not  compromise in any way
  6192. the "integrity" (correctness)  of B.  Dependency is
  6193. distinct from "data flow."
  6194.  
  6195.  
  6196. This   example  shows   that  a   superficial examination of the
  6197. "architecture" of a domain structure is  insufficient
  6198.  to   determine  which  candidate  TCB subsets depend upon  other
  6199. TCB subsets.  Superficially, this  architecture  is  the  same
  6200.  as  the  example  of mutually suspicious  systems above, but
  6201. here  A depends on  B.   It  also  shows  that  an  examination
  6202.  of the interface specifications is  insufficient.  Finally, it
  6203. shows that dependency is not  the same as the notion of "privilege"
  6204. (as  normally understood in the  context of operating  systems
  6205.  to  mean  loosened  restrictions on allowed  functions and  accesses),
  6206. because  there is in this example no  sense in which B has access
  6207.  to all of A's internal structures.  It only has access to some
  6208. of them.
  6209. Example 4:  Use of Locally Provided Functionality
  6210.  
  6211.  
  6212.  
  6213. Suppose A  and B are the mail  server and SQL DBMS  of  the  preceding
  6214.  example,  except  that  A  is implemented in a less privileged
  6215. ring than B.  That is, the interconnect is replaced by a ring-crossing
  6216. service call.  Obviously, A  still depends on B and  B does not
  6217. depend on  A.  The change  is that now  B has potential access
  6218. to any of A's  structures.  The general rule for the use of domain
  6219. protection mechanisms (such as rings) is that  if B is privileged
  6220.  with respect to A,  then A necessarily  depends  on  B  (simply
  6221.  by  virtue of B's privilege  to access any  of A's structures).
  6222.   Thus, a detailed  examination of  sA and  vA is  unnecessary
  6223. to establish dependency.
  6224. Cautionary Example
  6225.  
  6226.  
  6227.  
  6228. Suppose   that   A   and   B   are  "mutually dependent";
  6229. that is, A depends on B and B depends on A.  This  means  that
  6230.  vA  assumes  that  B  is implemented correctly with respect to
  6231. sB,  and vB assumes that A is implemented  correctly  with  respect
  6232.  to  sA.  Further suppose that  both vA and vB are  valid (reasonable
  6233. and compelling).  One would hope  that it follows from this that
  6234. both A and B  are correct.  Unfortunately, this is not always
  6235. the case.
  6236.  
  6237.  
  6238. If A  and B are both correct  with respect to sA  and sB,  then
  6239. vA  is a  valid argument  with a true premise and is therefore
  6240. true.   The same is true for B and vB.
  6241.  
  6242.  
  6243. Suppose,  however,  that   A  is  implemented incorrectly  with
  6244. respect  to sA  and B  is implemented incorrectly with respect
  6245. to sB.  vA is a valid argument with a  false premise; it is thus
  6246.  valid but (possibly) untrue.  Similarly, vB is  valid but (possibly)
  6247. untrue.  This case shows that it is quite possible for vA and
  6248. vB to both be valid while  A and B are both (individually) incorrectly
  6249. implemented.
  6250.  
  6251.  
  6252. What has  been exposed here is  a hidden case of circular reasoning:
  6253.  the  argument that A is correct is based on  the assumption that
  6254. B is  correct, and the argument that  B is correct is based  on
  6255. the assumption that  A is correct.   Thus, vA depends  (circularly)
  6256. on the assumption that A is correct, and vA reduces to the following
  6257. tautology: if vA is correct with respect  to sA then vA is correct
  6258. with respect to sA. It is thus possible in principle for mutually
  6259. dependent subsystems A  and B to have  vA and vB to  be logically
  6260. valid while either A or  B, or both, are incorrect with respect
  6261. to their specifications (sA or sB). 
  6262.  
  6263.  
  6264. To  make this  result concrete,  consider two airline  reservation
  6265. systems,  A  and  B, based  on the mutually  suspicious   systems
  6266.  of  example   2  above. Suppose that A maintains  information
  6267. about all flights originating or terminating in the United States
  6268. while B maintains  information  about  flights  originating  or
  6269. terminating in Europe.  Assume  sA includes a statement that A
  6270. will generate  flight itineraries from an origin to  a  destination,
  6271.   with  appropriate  provision  for connections.   "Appropriate
  6272. provision  for connections" means  allowing enough  time
  6273. to  change planes  without requiring  passengers to  wait an 
  6274. excessive period  of time.   Further  assume  that  sB  includes
  6275.  a  similar statement.  From  the assumption that A meets  sA
  6276. and B meets  sB, one  can construct  a valid  argument that A
  6277. meets its  specification sA for  itineraries orginating or  terminating
  6278.  in  either  the  U.S.   or  Europe.  A similarly  valid argument
  6279.  can  be  made about  B.  If, however,  A stores  flight segment
  6280.  times in  the local time  of the airport  and B stores  them
  6281. i n  Greenwich Mean Time, an itinerary generated by either A or
  6282. B that relies on information from  the other will be incorrect
  6283. because  of the  time  differences.   Thus, A  will not generate
  6284.  accurate,  timely  flight  itineraries,  even  though   a  valid
  6285.   argument  that   it  does   can  be constructed.    This   difficulty
  6286.   arises   from   the presumption that A and B are mutually dependent.
  6287. 6. TAMPER RESISTANCE ARGUMENTS
  6288.  
  6289.  
  6290.  
  6291. The    requirement   to    demonstrate   that individual TCB subsets
  6292. exhibit the reference validation mechanism  tamper resistance
  6293. property  deserves special attention.  In  a subsetted architecture
  6294. there  are two (related)  aspects to  this requirement.   The
  6295. first is the ability of a less  primitive TCB subset to maintain
  6296. control over  access to the objects  that implement its logic
  6297. and data structures.   The second is establishing the      assurance
  6298.     that      policy-critical     or correctness-critical  data
  6299.  used  by  a  TCB  subset is persistent (that is, that it  does
  6300. not change or become contaminated with  other data between the
  6301.  execution of instructions). 
  6302.  
  6303.  
  6304. A  less primitive  TCB subset  will be  using objects and  subjects
  6305. provided by a  more primitive TCB subset.  Thus,  policy-critical
  6306. data will be  stored in objects  that are  provided by  the more
  6307.  primitive TCB subset  rather than in  some system entity  created
  6308. and maintained  by the  less primitive  TCB subset  itself.
  6309.  
  6310.  
  6311. One part  of the tamper resistance  argument focuses on being
  6312. able to demonstrate  that no alteration of either the policy-critical
  6313. data or of the TCB subset's code is possible.  That is, no system
  6314.  entity external to a TCB subset (with  the possible exception
  6315. of  more primitive TCB subsets upon which it depends) should be
  6316. capable of causing arbitrary changes to  that TCB subset's code
  6317. or data  structures.  If a  third, not more  primitive TCB subset
  6318. (or a subject totally outside the TCB) were able to gain access
  6319. to  an object where policy-critical data was stored, the tamper
  6320. resistance property could not be established  for the  TCB  subset
  6321.  in question.   For a most-primitive TCB subset, a wide variety
  6322. of techniques could  be used to  limit access to  an object in
  6323.  which such policy-critical data  is stored (e.g., prohibition
  6324. on the sharing of  objects, strict ownership control of the ability
  6325. to extend  access permission, and mandatory access   controls).
  6326.   Similarly,  the   conditions  for evaluation  by parts  require
  6327. that  the system designer identify  a   set  of  mechanisms  and
  6328.   their  assured properties  as  the   basis  for  demonstrating
  6329.  tamper resistance for each TCB subset.
  6330.  
  6331.  
  6332. The  second topic  is the  assurance that the contents  of  the
  6333.  objects  that  store  a TCB subset's policy-critical  data  not
  6334.  change  except  through the execution  of  that  TCB  subset's
  6335.  logic.   If  a data structure that  identified an exported object
  6336.  (such as tables or  tuples or entities) were  to have extraneous
  6337. data  inserted  by  a  more  primitive  TCB subset (for example,
  6338.  as  a  result  of  garbage  collection or the random  action
  6339.  of  memory  management),  then no basis would  exist  for   arguments
  6340.  concerning  the  correct implementation of the less primitive
  6341. TCB subset.  For a most  primitive TCB  subset (which  includes
  6342. supporting hardware), the  argument that the  policy-critical
  6343. data is kept current and correct can be made strictly on the basis
  6344. of  that TCB subset.  However, when  a TCB subset obtains resources
  6345. from a more primitive TCB subset, the argument cannot  be made
  6346. strictly  on the basis  of the design  of the TCB  subset.  Rather,
  6347. the  argument must proceed  from  assured   mechanisms  provided
  6348.  by  more primitive TCB  subsets.  This is exactl  y analogous
  6349. to the case of a  reference validation mechanism for which one
  6350. relies  on mechanisms not strictly  included in the design  of
  6351. the  policy-enforcing elements  to establish the  requisite  properties
  6352.   of  non-bypassability  and tamper  resistance.   A  variety
  6353.  of  mechanisms  might provide   a   basis    for   demonstrating
  6354.   that   the implementation of a TCB  subset is correct, even
  6355. though resources are obtained from a more primitive TCB subset
  6356. (e.g., type-enforcement).
  6357. 7. RATIONALE FOR LOCAL AND GLOBAL REQUIREMENTS
  6358.  
  6359.  
  6360.  
  6361. Section     TC-5,    "General     Interpreted Requirements,"
  6362.  lists  the  requirements  of  the TCSEC according to  how the
  6363. requirements apply to  a TCB made up of more than one  TCB subset.
  6364.  The general rationale for distinguishing which  requirements
  6365. can be satisfied by  independent analysis  and consideration 
  6366. of the TCB subsets was to consider the  requirements one at a
  6367. time to determine whether satisfaction of the requirement by the
  6368. individual TCB subsets  would necessarily mean that the  entire
  6369. system   satisfies the  stated requirement.
  6370.  
  6371.  
  6372. For  some  requirements,  such  as  those  for  certain documentation,
  6373.  it  is  clear  that  the requirement is factorable; that is,
  6374. it  is satisfied for the composite TCB  if it  is satisfied  for
  6375. each  of the  TCB subsets individually.    For  other   requirements,
  6376.  individual system  characteristics could  make factorability
  6377.  of a requirement patently obvious, but not all systems would
  6378. enjoy such  simple factorability.  An example  would be trusted
  6379. path requirements  for security-related events:  if  all  security-related
  6380.  ev  ents  occur  in the most primitive TCB  subset, satisfaction
  6381. of  the requirement by  that TCB  subset suffices  to demonstrate
  6382.  that the system meets the requirement, but for systems that have
  6383. security-relevant events in less primitive TCB subsets, some explanation
  6384.  of the cooperative action  of the TCB subsets   would   be  
  6385. required.    For   still   other requirements, one  can expect
  6386. that the  satisfaction of the  requirement  for  the  entire 
  6387. system  will always require some  explanation of the cooperative
  6388.  action of the constituent  TCB subsets.  Provision of  a coherent
  6389. audit record across events in several TCB subsets is in this category.
  6390.  
  6391.  
  6392. In  the paragraphs  below, a  brief rationale for  identifying
  6393. requirements   as wholly  or partially global  is provided.  
  6394. Those requirements  that are not listed are considered to be completely
  6395. local.
  6396. Subject Sensitivity Labels
  6397.  
  6398.  
  6399.  
  6400. At level B2 and above, the TCSEC requires the following:
  6401.  
  6402.  
  6403. The TCB  shall immediately notify  a terminal user  of each change
  6404.  in the security  level associated with  that  user  during  an
  6405.  interactive  session.   A terminal user shall be able to query
  6406. the TCB as desired for  a display  of the  subject's complete
  6407.  sensitivity level.
  6408.  
  6409.  
  6410. For   subsetted   architectures,   the   user interface  could
  6411.  be  to  a  TCB  subset  that does not support  a mandatory  access
  6412. control  policy.  Thus,  a change noted  by a more primitive TCB
  6413.  subset that does support such a  policy would have to be  relayed
  6414. to the user, possibly  through cooperative action of  the full
  6415. set of TCB subsets.  Similarly, a request by a terminal user 
  6416. for  the  complete  sensitivity  level  could  be initially  received
  6417.  by  a  TCB  subset  that  does not support  a  mandatory  access
  6418.  control  policy and will require  cooperation between  TCB subsets
  6419.  to determine the complete  subject sensitivity level and  to
  6420. provide that information to the requesting user.
  6421. Identification and Authentication
  6422.  
  6423.  
  6424.  
  6425. The    identification   and    authentication requirements in
  6426. the TCSEC address the need to correctly associate authorizations
  6427. with subjects.   In a TCB made of several TCB subsets, it is possible
  6428. that only one of the  TCB   subsets  will  provide   identification
  6429.  and authentication,  which will  be  used  by all  the less primitive
  6430.  TCB subsets.   Alternatively, identification and  authentication
  6431. may  be provided  directly in  more than one  TCB subset.  In
  6432. either case,  the TCB subsets have  to work  cooperatively to
  6433.  use identification and authentication data for  uniquely identifying
  6434. users and for associating users with auditable actions.
  6435. Trusted Path
  6436.  
  6437.  
  6438.  
  6439. At B2, the only required uses of trusted path are  login  and
  6440.  authentication.    At  B3  and  above, occasions  "when
  6441. a  positive TCB-to-user  connection is required (e.g., login,
  6442.  change subject security level)" are  included.   In  both
  6443.  cases,  a  system vendor may choose  to use  trusted path  for
  6444. situations  where the security-relevant event could  be recognized
  6445. or handled in more  than one TCB subset.  On  those occasions,
  6446. the careful coordination of all the involved TCB subsets in the
  6447. correct handling of trusted path situations must be shown.  If
  6448. a single  TCB subset implements trusted path and all the invocations
  6449. of  trusted path are limited to that  TCB  subset  (that  is,
  6450.  the  flow  of control in responding  to a  trusted path  initiation
  6451. never leaves the TCB  subset until the response  is completed),
  6452. then nothing further would be  required.  The description of the
  6453. limitation  of trusted path to a  single TCB subset will  suffice
  6454. for the  global part of  the requirement, leaving only the demonstration
  6455. of local satisfaction of the requireme nt by the identified TCB
  6456. subset.
  6457. Audit
  6458.  
  6459.  
  6460.  
  6461. If  each  of  several  TCB  subsets meets the audit requirements
  6462. locally, then  there is the issue of whether the set of audit
  6463. records meets the requirements of  being  able  to  note  and
  6464.  record  individual user actions, and  at B3 and  above, to be
  6465.  able to initiate required action.   If not all the TCB  subsets
  6466. meet the audit requirements locally,  then the requirements must
  6467. be satisfied  by the cooperative  action of the  set of TCB subsets.
  6468.  In both cases, consideration of the audit characteristics of
  6469.  all the TCB subsets has  to be part of  determining that  the
  6470.  entire  TCB meets  the audit requirements.
  6471. System Architecture
  6472.  
  6473.  
  6474.  
  6475. For   many   of   the   system   architecture requirements,  demonstrating
  6476.  that   a  requirement  is satisfied  by all  of the  consitituent
  6477. TCB  subsets is sufficient to demonstrate that  it is satisfied
  6478. for the composite  TCB.   The  requirements  for  the "TCB
  6479. [to] maintain a domain for its execution" and for the TCB
  6480. to "maintain  process isolation  through the  provision of
  6481. distinct  address  spaces"  could  be  satisfied by the entire
  6482.  TCB without  each constituent  TCB meeting  the requirement.
  6483.  
  6484.  
  6485. The  requirement for  the TCB  to maintain  a domain for its execution
  6486. implies  the need for each TCB subset to have a domain for its
  6487. own execution, isolated from  both untrusted  portions of  the
  6488. system  and from less primitive  TCB subsets.  The exact  wording
  6489. of the TCSEC requirement  could be read as  disallowing a less
  6490. primitive TCB  subset from occupying a  domain provided by  a
  6491. more  primitive TCB  subset and  to allocate  its subjects to
  6492. domains that do  not have access to its own domain:   the verb
  6493.   "maintain" could  be (erroneously) read  as  requiring
  6494.  each  TCB  subset  to  create  and maintain  its  own  domain
  6495.  for  execution.  The proper interpretation is that the TCB  as
  6496. a whole must provide and  maintain such  domains for  execution,
  6497. rather than each individual TCB subset.  Similarly,  the exact
  6498.   wording of  the TCSEC requirement on the  "maintain[ing]
  6499. of process isolation through the provision of distinct address
  6500. spaces" could be  read  as  requiring  each  TCB  subset
  6501.  to  provide distinct address spaces.   The proper interpretation
  6502. is that  the TCB  as a   whole must  provide and  maintain process
  6503. isolation,  either   through  provision   and subsequent use 
  6504. of distinct address spaces,  or through provision  of  distinct
  6505.  address  spaces  by  every TCB subset.
  6506. Covert Channel Analysis
  6507.  
  6508.  
  6509.  
  6510. This  requirement applies   as stated  in the TCSEC  to the  entire
  6511. TCB.    When the  TCB is  made up entirely  of  TCB  subsets 
  6512. meeting  the conditions for evaluation  by parts,  analysis of
  6513.  the individual  TCB subsets suffices to  satisfy this analysis
  6514. requirement.  Otherwise,  covert channel   analysis must  address
  6515. the entire  TCB  (even  if  the  result  of  covert channel analyses
  6516. of the individual TCB subsets were available).
  6517. Trusted Facility Management
  6518.  
  6519.  
  6520.  
  6521. The ability to run  a trusted system facility properly  applies
  6522.  to  the  combination  of TCB subsets making  up the  TCB.   This
  6523.  requirement should  not be difficult  to meet,  provided that
  6524.  the individual  TCB subsets  meet  the  requirement  and  the
  6525.  interactions between  the  TCB  subsets  at  the facility management
  6526. level are clear.
  6527. Trusted Recovery
  6528.  
  6529.  
  6530.  
  6531. In  the case  of  "an  ADP system  failure or other discontinuity,"
  6532. each TCB subset  in a B3 or above system  needs   to  be  able
  6533.  to   recover  "without  a protection compromise." 
  6534. Further,  the recovery actions of  distinct TCB  subsets needs
  6535.  to be  coordinated and combined  so  that  the  resulting  system
  6536.  is not only recovered as  far as each TCB subset  is concerned,
  6537. but is also recovered as a composite TCB.
  6538. Security Testing
  6539.  
  6540.  
  6541.  
  6542. This  requirement applies   as stated  in the TCSEC  to the  entire
  6543. TCB.   If a  TCB consists  of TCB subsets meeting the conditions
  6544. for evaluation by parts, the satisfaction of the requirements
  6545. by each TCB subset suffices to satisfy the requirement for the
  6546. entire TCB.  Otherwise, security testing must include testing
  6547. of the entire  TCB  (even  if   the  results  of  testing  the
  6548. individual TCB subsets are available).
  6549. Design Specification and Verification
  6550.  
  6551.  
  6552.  
  6553. For  many  of  the  design  specification and verification   requirements,
  6554.   demonstrating   that   a requirement is satisfied by all of
  6555. the consitituent TCB subsets  is  sufficient  to   demonstrate
  6556.  that  it  is satisfied for the composite  TCB.  The requirements
  6557. for a "formal model of the security policy supported by the
  6558. TCB" and that the DTLS at B3  and the FTLS at A1 "be
  6559. an accurate description  of the TCB interface"  apply in
  6560. a limited way to the entire TCB.
  6561.  
  6562.  
  6563. After complying security  models are provided for the  individual
  6564. TCB subsets, a  convincing argument is required to explain how
  6565. the set of models represents abstractly the policy of the entire
  6566. system.
  6567.  
  6568.  
  6569. After   complying  top-level   specifications (DTLS  at  B3  and
  6570.  FTLS  at  A1)  are provided for the individual  TCB  subsets,
  6571.  an  explicit  and convincing description of how the  set of top-level
  6572. specifications describe the TCB interface  with respect to exceptions,
  6573. errors and effects must also be provided.
  6574. 8. CONTENT-DEPENDENT  AND  CONTEXT-DEPENDENT ACCESS CONTROL
  6575.  
  6576.  
  6577.  
  6578.  
  6579. An  attractive  proposition   in  a  database managment system
  6580.  is to implement access  controls that depend  in some  way on
  6581.  the values  of the  data in  a storage object or the  context
  6582. in which the information is  accessed.  For example,  one might
  6583. desire  to limit access to all personnel records in a database
  6584. according to the  salary value (content-dependent  access rules).
  6585.  On the other hand, a company's earnings report might be held
  6586. in confidence until announced at the stockholders' meeting,  at
  6587.  which  time   it  is  public  information (context-dependent
  6588. access rules).
  6589.  
  6590.  
  6591. This document  does not encourage  or endorse mandatory  access
  6592. control  on storage  objects that are based on the  content of
  6593. data values or  on the context in which  the information is viewed.
  6594.   Given that these are  research  topics,  it  is  prudent  to
  6595.  take  this conservative stance.  Research and current practice
  6596. are insufficient  to  allow  definitive  guidance  on  such implementations.
  6597. 9. BULK LOADING OF A DATABASE
  6598.  
  6599.  
  6600.  
  6601. The bulk loading of  a database into (perhaps thousands of) database
  6602. objects  must be done with care.  If the data  to be loaded are
  6603. unlabeled, it  may not be practical to require an  authorized
  6604. user to examine the data  to be  loaded into  each object  and
  6605. assign  it a sensitivity label.  Instead it may be more practical
  6606. to assign labels to the  data according to the sensitivity label
  6607. of the single-level device that is used to import it.   In  this
  6608.  way,  bulk   loading  may  be  done  in single-level stages.
  6609.  
  6610.  
  6611. Even  importing labeled  multilevel data  may prove  difficult.
  6612.   The  imported  data  records may be organized on the input 
  6613. device in accordance with their logical structure,  not their
  6614. sensitivity  levels.  For some trusted DBMS architectures, this
  6615. requires that the TCB first  separate the data by  sensitivity
  6616. levels and subsequently  load  the  data   into  the  database
  6617.  as single-level structures. 
  6618.  
  6619.  
  6620. Another problem with  bulk loading of labeled data  is  granularity.
  6621.   It  may  be  that the labeling granularity  of data on  the
  6622. input device  is different from   the  labeling   granularity
  6623.  supported   by  the receiving trusted DBMS.  As  an example,
  6624. the data being imported may be labeled at the file or field level,
  6625. and the  importing DBMS may  support labeling at  the tuple level.
  6626.  In  such instances, the  data would have  to be mapped into objects
  6627. of  the proper labeling granularity as the data are being imported.
  6628. 10. LOCAL ANALYSIS IN SYSTEM ASSESSMENT
  6629.  
  6630.  
  6631.  
  6632. The  ability  to  distinguish  and separately reference the results
  6633. of  local analysis of TCB subsets is  a primary  aspect of  evaluation
  6634. by  parts, and the benefits  which  accrue  are  apparent  in
  6635. two, closely related,  cases  that  arise  in  evalutions  by
  6636. parts.  These may be thought of as dealing with the problems of
  6637. "hosting" and "porting" although  they are
  6638. actually two aspects of the same problemthat of assessing a trusted
  6639. system constructed of previously evaluated parts.
  6640.  
  6641.  
  6642. For the first case (i.e., that of "hosting"), consider
  6643. an  operating system which has  been evaluated against  the  TCSEC
  6644.  requirements  and  has  received a rating.  Thus, the operating
  6645. system  is a TCB for which both the local and global  analysis
  6646. has been done.  The results  of  the  local  analysis  can  now
  6647.  be used to support  the  evaluation  of  a  TCB  made  up  of
  6648.  the operating  system (or,  the more  primitive TCB subset) and
  6649. any proposed TCB  extension (or, less primitive TCB subset). 
  6650. Suppose,  for example, that vendor  A chooses the  rated operating
  6651.  system as   the host  for a  DBMS product, which implements an
  6652. access control policy.  As described  in  TC-6,  it  is  now 
  6653. possible,  under the
  6654.  
  6655.  
  6656. correct conditions, to re-use  the results of the local analysis
  6657. of  the host operating system  in developing a rating for the
  6658. composite  system.  Even for those cases not meeting all the conditions
  6659. for evaluation by parts, it  may be  possible that   some, if
  6660.  not most,  of the previous  results are  still valid.   If vendor
  6661.  B also chooses the rated operating system  as the host for his
  6662. DBMS  product, it  will be  possible (again,  under the proper
  6663.  conditions) to develop  a rating for  the (new) composite  system
  6664. without  having to  repeat the  local analysis of the host operating
  6665. system.  As an alternate case,  suppose a  site has  need of 
  6666. an electronic mail service as well as the  DBMS utility.  The
  6667. mail utility will operate in a peer-entity relation with the trusted
  6668. DBMS utility (i.e., both the  mail service and the DBMS depend
  6669.  on  the  host  operating  system,  but  neither depends  on the
  6670. other).   Again, having the  results of the local  analysis of
  6671. the host  operating system eases the burden of assessing the security
  6672. characteristics of the user  interface to the composite system
  6673.  made up of the  mail system  and  the  host operating  system.
  6674.  In short,  the  ability   to  distinguish  and  separately reference
  6675. the results of the local analysis of the host operating  system
  6676.  makes  it  feasible  to evaluate the effect of  adding arbitrary
  6677. trusted  applications, only by performing the local analyis for
  6678. the application and any global analysis required.
  6679.  
  6680.  
  6681. For   the  second    case,  (i.e.,   that  of "porting")
  6682. the question becomes that of determining the effect of moving
  6683. a known trusted application, such as a DBMS,  across arbitrary
  6684.  host systems.   Assume that  a trusted  DBMS   product  meeting
  6685.  the   conditions  for evaluation by parts has  been evaluated
  6686. on some trusted host, and a rating determined for the composite
  6687. system.  Clearly,  the  results  of  the  local  analysis of the
  6688. trusted  application available  are also  applicable to the  analysis
  6689. of  a composite   system made  up of  the trusted  application
  6690.  and  a  different  host operating system.  Thus, having the local
  6691. analysis of the trusted application will ease  the evaluation
  6692. burden associated with  porting  of  trusted  applications  to
  6693.  different hosts.    To  the   extent  that   the  conditions
  6694.  for evaluations  by parts  have been  satisfied, the  local analysis
  6695.  of  the  application  is  valid by reference.
  6696.  
  6697.  
  6698. Hence  only the  local analysis  of the  host operating system
  6699. and  the requisite global analysis  is needed to assess  the security
  6700.  attributes of  the new  composite system.
  6701. 11. RATING MORE COMPLEX SYSTEMS
  6702.  
  6703.  
  6704.  
  6705. The  view taken  by the  TCSEC is  that of an "atomic"
  6706.  TCB; the TCB  is seen to  be a single  entity which  is, in some
  6707.  sense, homogeneous.  This  allows a relatively  simple measure
  6708.  (i.e., the  digraphs) to be assigned to the TCB.  However, real
  6709. systems may be more complex, resulting in the inability of a single,
  6710. simple rating  to convey  the full  complexity of  the system.
  6711.  This  is  implicitly  recognized  in  TCSEC  evaluation reports
  6712. and  EPL entries, in which credit  may be given to a vendor for
  6713. meeting TCSEC (functional) requirements beyond those necessary
  6714. to satisfy the rating (e.g., the B3 discretionary  access control
  6715. feature in  a C2 TCB).   In   short,  systems   which  reflect
  6716.   straightforward implementations   or  extensions   of  the 
  6717.  TCSEC  can accurately be described with  a single digraph.  On
  6718. the other  hand, adding  complexity to  systems may violate assumptions
  6719.  which underlie   the TCSEC  rating system, requiring a more complex
  6720.  description if accuracy is to be achieved.
  6721.  
  6722.  
  6723. If a TCB made up of TCB subsets is consistent with  the  TCSEC
  6724.  assumptions  on  homogeneity,  then a simple  digraph  suffices
  6725.  for   a  full  and  accurate description of the security  properties
  6726. of the product.  However,  to the  extent that  a subsetted architecture
  6727. introduces complexity not captured by the digraphs, the simple
  6728. TCSEC ratings cannot be applied to the composite system.   More
  6729.  specifically,  for  a  subsetted TCB to achieve a  single rating,
  6730. all the  requirements of that class   must   be   satisfied. 
  6731.   For   example,  if  a discretionary access control-enforcing
  6732.  DBMS TCB subset is  added onto a  previously evaluated B3  product,
  6733. the entire system can achieve a  B3 rating if it could also have
  6734.  achieved the B3  rating evaluated as  a monolith.  That is, the
  6735.  new TCB subset must also  satisfy all the assurance and architectural
  6736. requirements of B3.
  6737.  
  6738.  
  6739. Consider   a  candidate   TCB  subset   which enforces a  discretionary
  6740. access control policy  over a new type of object, targeted at
  6741. a host system which has already been evaluated at the B3 level.
  6742.  Examples are a database  management   system  providing  discretionary
  6743. access  control over   tuples, a  transaction processor providing
  6744.    discretionary    access    control    over transactions,  
  6745. and   a    message   system   providing discretionary  access
  6746. control   over messages.   If the candidate TCB subset meets all
  6747. the C2 requirements, the problem  is  what  rating   will  be
  6748.  assigned  to  the composite  system.  To designate  it a "C2"
  6749.  is clearly inaccurate, as well as being  unfair to the original
  6750. B3 product  vendor.  To designate  it "B3" may  be equally
  6751. inaccurate, and it creates  ambiguity in the meaning of the  metric
  6752.  used  for  comparing  systems.   In  fact, depending on the details
  6753. of the specific candidate, the composite  system could  legitimately
  6754. be  rated at  any level from C2 to B3 under a TCSEC evaluation.
  6755.  
  6756.  
  6757. The TCSEC rating system  assumes a measure of homogeneity  which
  6758.  the  above  example  violates  thus invalidating the very basis
  6759. upon which a single digraph may  be assigned.   Hence, a  subsetted
  6760. system  such as described above,  will have to be  characterized
  6761. with a more  complex   description  than  a   single  digraph.
  6762.  
  6763.  
  6764. Although this  may seem undesirable, it will  be a more accurate
  6765.  description of  the system,  and it   provides sufficient  information
  6766. to  allow system  designers and accreditors  to  make  decisions
  6767.  about  sufficiency of security for their  specific applications.
  6768.  In essence, such  an  approach  is  necessary  for  recognizing
  6769. the additional  complexity  which   can  be  introduced  by architectures
  6770.  which   allow  system  elements to be developed separately.
  6771. GLOSSARY
  6772.  
  6773.  
  6774.  
  6775. candidate  TCB  subset     The  identification  of the hardware,
  6776.  firmware,  and  software  that  make  up the proposed TCB  subset,
  6777. along with the  identification of  its  subjects and  objects;
  6778. one  of the  conditions for evaluation by parts
  6779.  
  6780.  
  6781.  content-dependent access  control   Access  control in which
  6782. access is determined by  the value of the data to be accessed.
  6783.  
  6784.  
  6785. context-dependent access  control   Access  control in which 
  6786.  access   is    determined   by   the   specific circumstances
  6787. under which the data is being accessed.
  6788.  
  6789.  
  6790.  database management  system   A computer  system whose main function
  6791. is to facilitate  the sharing of a common set of data among many
  6792.  different users.  It may or may not  maintain  semantic  relationships
  6793.  among  the data items.
  6794.  
  6795.  
  6796.        DBMS   Abbreviation for "database management system."
  6797.  
  6798.  
  6799. depends   A TCB subset A depends (for its correctness) on  TCB
  6800.  subset  B  if  and  only  if the (engineering) arguments  of
  6801.  the  correct  implementation  of  A with respect to its specification
  6802. assume, wholly or in part, that  the  specification  of  B  has
  6803.  been  implemented correctly.
  6804.  
  6805.  
  6806. domain    The set  of objects that  a subject has  the ability
  6807. to access.
  6808.  
  6809.  
  6810. dominated  by     Security  level  A  is  dominated by security
  6811. level B if (1) the clearance/classification in A is less than
  6812. or equal to the clearance/classification in  B,  and  (2)  the
  6813.  set  of  access approvals (e.g., compartment designators)  in
  6814. A is contained  in the set of  access approvals in  B (i.e., each
  6815.  access approval appearing  in A  also  appears  in B).   This
  6816. dominance relation is a special case of a partial order.
  6817.  
  6818.  
  6819. dominates   "Security level B dominates security level A"
  6820. is synonymous with "security level A is dominated by security
  6821. level B."  See "dominated by."
  6822.  
  6823.  
  6824. global requirements   Those  which require analysis of the  entire
  6825. system and  for which separate  analysis of the  individual  TCB
  6826.  subsets  does  not  suffice.  See Section TC-5.3.2 for a summary
  6827. list.
  6828.  
  6829.  
  6830. lattice   A partially ordered set for which every pair of  elements
  6831. has  a greatest  lower bound  and a  least upper bound.
  6832.  
  6833.  
  6834. local requirements   Those for which separate analysis of  the
  6835. individual  TCB subsets  suffices to  determine compliance for
  6836. the composite TCB.  See Section TC-5.3.1 for summary list.
  6837.  
  6838.  
  6839. metadata    (1)  Data  referring  to other  data; data (such as
  6840.  data structures, indices, and  pointers) that are  used  to 
  6841. instantiate   an  abstraction  (such  as "process,"
  6842. "task," "segment,"  "file," or "pipe").
  6843.  (2) A  special  database,  also   referred  to  as  a  data dictionary,
  6844.  containing  descriptions  of  the elements (e.g., relations,
  6845. domains,  entities, or relationships) of a database.
  6846.  
  6847.  
  6848. monolithic TCB    A TCB that consists of  a single TCB subset.
  6849.  
  6850.  
  6851. object    A passive  entity that contains  or receives information.
  6852.  Access  to an object  potentially implies access  to the  information
  6853. it  contains.  Examples  of objects are:  records,  blocks, pages,
  6854. segments, files, directories, directory trees, and  programs,
  6855. as well as bits, bytes, words, fields, processors, video displays,
  6856. keyboards, clocks, printers, network nodes, etc.
  6857.  
  6858.  
  6859. partial  order    A relation  that is  symmetric (a is related
  6860. to a),  transitive (if a is related to  b and b is  related  to
  6861.  c,  then  a  is  related  to  c),  and antisymmetric (if a is
  6862. related to b and b is related to a, then a and b are identical.)
  6863.  
  6864.  
  6865. primitive    An ordering relation between  TCB subsets based 
  6866. on  dependency  (see  "depends"  above).   A TCBsubset
  6867. B is  more primitive than a second  TCB subset A (and  A is  less
  6868. primitive  than B)  if (a)  A directly depends on B or (b) a chain
  6869.  of TCB subsets from A to B exists  such that  each element  of
  6870. the  chain directly depends on its successor in the chain.
  6871.  
  6872.  
  6873. reference monitor concept    An access control concept that  refers
  6874. to an  abstract machine that  mediates all accesses to objects
  6875. by subjects.
  6876.  
  6877.  
  6878. reference validation mechanism   "An implementation of the
  6879. reference monitor concept .  .   .  that validates each reference
  6880. to data or programs by any user (program)  against  a  list  
  6881. of  authorized  types  of reference  for that  user."  It
  6882.  must be  tamper proof, must always be invoked, and  must be small
  6883. enough to be subject  to  analysis  and  tests,  the completeness
  6884. of which can be assured.  [1] 
  6885.  
  6886.  
  6887. security  policy     The   set  of  laws,  rules,  and practices
  6888.  that regulate  how an  organization manages, protects, and distributes
  6889. sensitive information.
  6890.  
  6891.  
  6892. storage object   An object that supports both read and write accesses.
  6893.  
  6894.  
  6895. subject   An active entity, generally in the form of a person,
  6896. process,  or device that causes  information to flow  among  objects
  6897.  or   changes  the  system  state.  Technically, a process/domain
  6898. pair.
  6899.  
  6900.  
  6901. subset-domain      A  set  of  system   domains.   For evaluation
  6902.  by parts,  each candidate  TCB subset  must occupy a distinct
  6903. subset domain such that modify-access to  a domain  within  a
  6904.  TCB subset's  subset-domain is permitted  only to  that TCB 
  6905. subset and  (possibly) to more primitive TCB subsets.
  6906.  
  6907.  
  6908. TCB subset   A set of software, firmware, and hardware (where
  6909.  any  of  these  three  could  be  absent)  that mediates the
  6910. access  of a set S of subjects  to a set O of  objects on  the
  6911. basis  of a  stated access  control policy P and satisfies the
  6912. properties:
  6913.  
  6914.  • (1) M  mediates every access to  objects O by subjects in
  6915. S;
  6916.  • (2) M is tamper resistant; and
  6917.  • (3) M  is  small  enough  to  be  subject to analysis  and
  6918. tests, the  completeness of which  can be assured.
  6919.  
  6920.  
  6921.  
  6922.  
  6923.  
  6924.  
  6925.  •  technical policy   The  set of rules regulating access of
  6926. subjects to objects enforced by a computer system.
  6927.  
  6928.  
  6929.  
  6930.  
  6931. Trusted  Computing  Base  (TCB)      The  totality  of protection
  6932.   mechanisms   within   a   computer  system including   hardware,
  6933.   firmware,   and   software  the combination  of which  is responsible
  6934.  for enforcing  a security  policy.   A  TCB  consists  of  one
  6935.  or  more components  that together   enforce a  unified security
  6936. policy over a product or  system.  The ability of a TCB to correctly
  6937.  enforce a security policy  depends solely on  the mechanisms
  6938.  within the  TCB and  on the correct input by system  administrative
  6939. personnel of parameters (e.g.,  a  user's  clearance)  related
  6940.  to the security policy.
  6941.  
  6942.  
  6943. trusted subject   A subject  that is permitted to have simultaneous
  6944. view- and alter-access  to objects of more than one sensitivity
  6945. level.
  6946.  
  6947.  
  6948. user     Any  person  who  interacts  directly  with a computer
  6949. system.
  6950.  
  6951.  
  6952. view   That portion of the database that satisfies the conditions
  6953. specified in a query.
  6954.  
  6955.  
  6956. view  definition    A stored  query; sometimes loosely referred
  6957. to as a "view."
  6958. BIBLIOGRAPHY
  6959.  
  6960.  
  6961.  
  6962.           1.   J.  P.    Anderson, "Computer  Security Technology
  6963.  
  6964.  
  6965.           Planning  Study,"  ESD-TR-73-51   (AD-758206),
  6966.  J.   P.
  6967.  
  6968.  
  6969. Anderson Co., October 1972.
  6970.  
  6971.  • 2. J.  P.  Anderson, "On the Feasibility of Connecting
  6972.  •  RECON to an External Network," Technical Report, J.
  6973.  P.
  6974.  •  Anderson Co., March 1981.
  6975.  • 3. D.   E.   Bell  and  L.   J.   La  Padula, "Secure
  6976.  •  Computer  Systems:   Unified   Exposition  and  Multics Interpretation,"
  6977.  MTR-2997, (AY/W  020 445),  The MITRE Corporation, Bedford, Massachusetts,
  6978. July 1975.
  6979.  • 4. D.   E.   Bell  and  L.   J.   La  Padula, "Secure
  6980.  
  6981.  
  6982.  
  6983.  
  6984.           Computer    Systems:      Mathematical    Foundations,"
  6985.  
  6986.  
  6987.           MTR-2547-I,  (AD  770   768),  The  MITRE  Corporation,
  6988.  
  6989.  
  6990. Bedford, Massachusetts, March 1973.
  6991.  
  6992.  • 5. L.   J.   La  Padula  and  D.   E.   Bell, "Secure
  6993.  •  Computer Systems:  A  Mathematical Model," MTR 2547-II,
  6994. (AD   771  543),    The  MITRE   Corporation,  Bedford, Massachusetts,
  6995. May 1973.
  6996.  •  6.   D.    E.   Bell,  "Secure  Computer   Systems:
  6997.   A
  6998.  •  Refinement  of the  Mathematical Model,"  MTR 2547-III,
  6999.  •  (AD   780  528),    The  MITRE   Corporation,  Bedford,
  7000.  
  7001.  
  7002.  
  7003.  
  7004. Massachusetts, December 1973.
  7005.  
  7006.  • 7. D.  E.  Bell,  "Secure Computer Systems:  A Network
  7007.  •  Interpretation,"  Proceedings of  the Second  Aerospace
  7008. Computer Security Conference, McLean Virginia, December 2-4, 1986,
  7009. pp.  32-39.
  7010.  
  7011.  
  7012.  
  7013.  
  7014.           8.   Department  of   Defense,  Department  of  Defense
  7015.  
  7016.  
  7017.           Trusted   Computer  System  Evaluation   Criteria, 
  7018. DOD
  7019.  
  7020.  
  7021. 5200.28-STD, December 1985.
  7022.  
  7023.  • 9. D.   E.   Denning,  "Cryptographic  Checksums  for
  7024.  •  Multilevel Database Security,"  Proceedings of the IEEE
  7025. Symposium on  Security & Privacy,  Oakland, California, April
  7026. 29-May 2, 1984, pp.  52-61.
  7027.  • 10. D.  E.  Denning, "Commutative Filters for Reducing
  7028.  •  Inference  Threats  in  Multilevel  Database  Systems,"
  7029. Proceedings  of  the  IEEE   Symposium  on  Security  & Privacy,
  7030.  Oakland, California,  April 22-24,  1985, pp.  134-146.
  7031.  • 11. E.  B.  Fernandez, R.   C.  Summers, and C.  Wood,
  7032.  •  Database Security and Integrity, Boston, Massachusetts:
  7033.  •  Addison Wesley, 1981.
  7034.  • 12. C.  Garvey and A.  Wu, "ASD Views," Proceedings
  7035. of the  Fourth  Aerospace  Computer  Security Applications Conference,
  7036.   Orlando,  Florida,  December   1988,  pp.  85-95.
  7037.  • 13. R.  D.   Graubart and  J.  P.   L.  Woodward,  "A
  7038.  •  Preliminary  Naval Surveillance  DBMS Security  Model,"
  7039. Proceedings  of  the  IEEE   Symposium  on  Security  & Privacy,
  7040.  Oakland, California,  April 26-28,  1982, pp.  21-37.
  7041.  • 14. R.  D.  Graubart,  "The Integrity-Lock Approach to
  7042.  •  Secure  Database Management,"  Proceedings of  the IEEE
  7043.  •  Symposium on  Security & Privacy,  Oakland, California,
  7044.  
  7045.  
  7046.  
  7047.  
  7048. April 29-May 2, 1984, pp.  62-74.
  7049.  
  7050.  • 15. M.   J.   Grohn,  "A  Model  of  a Protected Data
  7051.  •  Management   System,"  ESD-TR-76-289,  I.    P.   Sharp
  7052. Associates, Ltd., June 1976.
  7053.  • 16. T.   H.  Hinke, M.  Schaefer et  al., "Secure Data
  7054.  •  Management System," RADC-TR-75-266 (AD-A019201), System
  7055. Development  Corporation,   Santa  Monica,  California, November
  7056. 1975.
  7057.  • 17. C.   E.   Landwehr,  C.   L.   Heitmeyer,  and J.
  7058.  •  McLean,   "A  Security   Model  for   Military  Message
  7059. Systems,"  ACM Transactions  on Computer  Systems, Vol. 
  7060. 2, No.  3, August 1984, pp.  198-222.
  7061.  • 18. T.  F.  Lunt, D.  E.  Denning, P.  G.  Neumann, R.
  7062.  •  R.  Schell,  M.  Heckman, and W.   R.  Shockley, "Final
  7063.  
  7064.  
  7065.  
  7066.  
  7067.           Report   Vol.    1:    Security   Policy   and   Policy
  7068.  
  7069.  
  7070.           Interpretation  for   a  Class  A1   Multilevel  Secure
  7071.  
  7072.  
  7073.           Relational    Database   System,"    Computer 
  7074.  Science
  7075.  
  7076.  
  7077. Laboratory, SRI International,  Menlo Park, California, 1988.
  7078.  
  7079.  • 19. J.  McHugh and  B.  M.  Thuraisingham, "Multilevel
  7080.  •  Security  Issues  in  Distributed  Database  Management Systems,"
  7081.  Computers  &  Security,  Vol.   7,  No.   4, Elsevier Advanced
  7082. Technology Publications, August 1988, pp.  387-396.
  7083.  • 20. National Computer  Security Center, Proceedings of the
  7084.  National  Computer  Security  Center  Invitational Workshop 
  7085. on  Database  Security,  Baltimore, Maryland, June 17-20, 1986.
  7086.  • 21. P.   A.  Rougeau and  E.  D.  Sturms,  "The Sybase
  7087.  •  Secure Dataserver:  A Solution to the Multilevel Secure
  7088.  
  7089.  
  7090.  
  7091.  
  7092.           DBMS  Problem,"   Proceedings  of  the   10th 
  7093. National
  7094.  
  7095.  
  7096.           Computer  Security   Conference,  Baltimore,  Maryland,
  7097.  
  7098.  
  7099. September 21-24, 1987, pp.  211-215.
  7100.  
  7101.  • 22. M.   Schaefer,  ed.,  Multilevel  Data Management
  7102.  
  7103.  
  7104.  
  7105.  
  7106. Security,  Air   Force  Studies  Board,   Committee  on
  7107.  
  7108.  
  7109. Multilevel  Data Management Security,  National Academy Press:
  7110.  Washington, D.C., 1983.
  7111.  
  7112.  • 23. M.  D.  Schroeder and J.  H.  Saltzer, "A Hardware
  7113.  •  Architecture   for   Implementing   Protection  Rings,"
  7114. Communications  of the  ACM,  Vol.   15, No.   3, March 1972,
  7115. pp.157-170.
  7116.  • 24. W.  R.  Shockley and  R.  R.  Schell, "TCB Subsets
  7117. for Incremental  Evaluation," Proceedings of  the Third Aerospace
  7118.   Computer   Security   Conference,  Orlando, Florida, December
  7119. 7-11, 1987, pp.  131-139.
  7120.  • 25. P.  Stachour and B.  Thuraisingham, "Design of LDV
  7121.  
  7122.  •  A Multilevel Secure Database Management System,"
  7123. IEEE Transactions  on Knowledge  and Data  Engineering, Vol. 
  7124. 2, No.  2, June 1990, pp.  190-209.
  7125.  
  7126.  
  7127.  
  7128.  
  7129.  
  7130.  
  7131.  
  7132.  
  7133.  •  26.   M.  Stonebraker,   "Operating System  Support
  7134. for Database Management,"  Communications of the  ACM, Vol.
  7135.  24, No.  7, July 1981, pp.  412-418.
  7136.  
  7137.  
  7138.  
  7139.  
  7140.  
  7141.  
  7142.  • 27. Unisys Corporation, "Secure  Distributed Database
  7143.  •  Management  System," Final  Technical Report,  Rome
  7144. Air Development  Center  Technical  Report, RADC-TR-89-314, Vol.
  7145.  1-5, December 1989.
  7146.  • 28. J.   Wilson, "Views as  the Security Objects  in
  7147. a
  7148.  •  Multi-level   Secure  Relational   Database  Management System,"
  7149.  Proceedings  of  the  1988  IEEE Symposium on Security &
  7150.  Privacy, Oakland, California,  April 18-21, 1988, pp.  70-84.
  7151.  
  7152.  
  7153.  
  7154.  
  7155.  
  7156.  
  7157.  
  7158.  
  7159. t